python实现excel读写数据


Posted in Python onMarch 02, 2021

本文实例为大家分享了python操作EXCEL的实例源码,供大家参考,具体内容如下

读EXCEL的操作:把excel的数据存储为字典类型

#coding=utf8 
 
#导入读excel的操作库 
import xlrd 
class GenExceptData(object): 
 def __init__(self): 
  try: 
   self.dataDic={} 
   #打开工作薄 
   self.wkbook= xlrd.open_workbook("Requirement.xls") 
   #获取工作表“requirement” 
   self.dataSheet=self.wkbook.sheet_by_name("requirement") 
   #把数据按 按照相应格式写入excel表中 
   self.readDataToDicl() 
   #保存文件 
  except Exception,e: 
   print "Read Excel error:",e 
 
 def readDataToDicl(self): 
  try: 
   nrows = self.dataSheet.nrows 
   ncols = self.dataSheet.ncols 
    
   print ncols ,nrows 
   try: 
    for rowNum in range(1,nrows):   
       #把数据的当前行的元素与上一行元素作比较 
       #如果不相等执行if语句 
       try: 
         
        singleJson={} 
        propertyName=self.dataSheet.cell(rowNum,3).value 
        propertyValue=self.dataSheet.cell(rowNum,4).value 
               
        if self.dataSheet.cell(rowNum,0).value and self.dataSheet.cell(rowNum,2).value: 
         mdEvent=self.dataSheet.cell(rowNum,0).value 
         singleJson["serviceId"]=self.dataSheet.cell(rowNum,2).value 
        singleJson[propertyName]=propertyValue        
        print singleJson 
        self.dataDic[mdEvent]=singleJson 
        singleJson.clear() 
         
         
       except Exception,e: 
        print "Get Data Error:",e 
   except Exception,e: 
    print "Reading Data Error:",e 
  except Exception,e: 
   print "Reading Data TO Dic Error:",e 
 
  
     
   
def test(): 
 GenExceptData() 
  
if __name__=="__main__": 
 test()

写EXCEL的操作:把csv文件的数据按照需求写入到excel文件中

#coding=utf8 
 
from readCSV import readCSV 
import xlwt 
 
class GenTestCase(): 
 def __init__(self,path="E:\\PythonDemo\\OperExcel\\Demo.csv"): 
  self.dataInfor=readCSV(path) 
  #创建工作薄 
  self.wkbook=xlwt.Workbook() 
  #创建表:“埋点需求” 
  self.dataSheet=self.wkbook.add_sheet("shellt") 
  self.creatHead() 
   
 def creatHead(self): 
  firstLine=[] 
  #创建表头 
  for index in range(len(firstLine)): 
   self.dataSheet.write(0,index,firstLine[index]) 
    
  dataBody=self.dataInfor.buffer 
  print dataBody.__len__() 
  currentrow=1 
  for rowNum in range(1,len(dataBody)): 
   for index in range(len(dataBody[rowNum])): 
    if rowNum>1: 
     if dataBody[rowNum-1][0]!=dataBody[rowNum][0] : 
      print currentrow,rowNum 
      if currentrow==1: 
       for cols in range(3): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow,rowNum-1,cols,cols,data) 
         
       for cols in range(6,13): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow,rowNum-1,cols,cols,data)  
      else:  
       for cols in range(3): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow-1,rowNum-1,cols,cols,data) 
       for cols in range(6,12): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow-1,rowNum-1,cols,cols,data)            
      currentrow=rowNum+1       
     break 
    
   for cols in range(3,6):    
    cellValue=dataBody[rowNum][cols] 
    cellValue=cellValue.decode("gbk") 
    data=u"%s" %(cellValue) 
    self.dataSheet.write(rowNum,cols,data) 
         
  self.wkbook.save(r'reqq.xlsx') 
  
     
   
def test(): 
 GenTestCase() 
  
if __name__=="__main__": 
 test()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 字符串中的字符倒转
Sep 06 Python
Python 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
在Docker上开始部署Python应用的教程
Apr 17 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Python sys.argv用法实例
May 28 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
Python八皇后问题解答过程详解
Jul 29 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
python创建n行m列数组示例
Dec 02 Python
Python打印特殊符号及对应编码解析
May 07 Python
使用tensorflow进行音乐类型的分类
Aug 14 Python
python游戏开发之pygame实现接球小游戏
Apr 22 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 #Python
python unittest实现api自动化测试
Apr 04 #Python
Python Unittest自动化单元测试框架详解
Apr 04 #Python
python如何使用unittest测试接口
Apr 04 #Python
Python统计单词出现的次数
Apr 04 #Python
高效使用Python字典的清单
Apr 04 #Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 #Python
You might like
PHP实现的封装验证码类详解
2013/06/18 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
jQuery实现本地存储
2020/12/22 jQuery
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
如何做好总经理助理
2013/11/12 职场文书
公司晚会主持词
2014/03/22 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
三好学生事迹材料
2014/12/24 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
小学校长开学致辞
2015/07/29 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL