python实现excel读写数据
Python  /  管理员 发布于 7年前   430
本文实例为大家分享了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+1break 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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号