python實(shí)現(xiàn)excel讀寫(xiě)數(shù)據(jù)
本文實(shí)例為大家分享了python操作EXCEL的實(shí)例源碼,供大家參考,具體內(nèi)容如下
讀EXCEL的操作:把excel的數(shù)據(jù)存儲(chǔ)為字典類型
#coding=utf8 #導(dǎo)入讀excel的操作庫(kù) import xlrd class GenExceptData(object): def __init__(self): try: self.dataDic={} #打開(kāi)工作薄 self.wkbook= xlrd.open_workbook("Requirement.xls") #獲取工作表“requirement” self.dataSheet=self.wkbook.sheet_by_name("requirement") #把數(shù)據(jù)按 按照相應(yīng)格式寫(xiě)入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): #把數(shù)據(jù)的當(dāng)前行的元素與上一行元素作比較 #如果不相等執(zhí)行if語(yǔ)句 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()
寫(xiě)EXCEL的操作:把csv文件的數(shù)據(jù)按照需求寫(xiě)入到excel文件中
#coding=utf8 from readCSV import readCSV import xlwt class GenTestCase(): def __init__(self,path="E:\\PythonDemo\\OperExcel\\Demo.csv"): self.dataInfor=readCSV(path) #創(chuàng)建工作薄 self.wkbook=xlwt.Workbook() #創(chuàng)建表:“埋點(diǎn)需求” self.dataSheet=self.wkbook.add_sheet("shellt") self.creatHead() def creatHead(self): firstLine=[] #創(chuàng)建表頭 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()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)全局變量的兩個(gè)解決方法
這篇文章主要介紹了Python實(shí)現(xiàn)全局變量的兩個(gè)解決方法,需要的朋友可以參考下2014-07-07TensorFlow使用Graph的基本操作的實(shí)現(xiàn)
這篇文章主要介紹了TensorFlow使用Graph的基本操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python爬取百度翻譯實(shí)現(xiàn)中英互譯功能
這篇文章主要介紹了利用Python爬蟲(chóng)爬取百度翻譯,從而實(shí)現(xiàn)中英文互譯的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-01-01新手如何快速入門(mén)Python(菜鳥(niǎo)必看篇)
下面小編就為大家?guī)?lái)一篇新手如何快速入門(mén)Python(菜鳥(niǎo)必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06python簡(jiǎn)單實(shí)現(xiàn)獲取當(dāng)前時(shí)間
最近項(xiàng)目中經(jīng)常需要python去取當(dāng)前的時(shí)間,雖然不是很難,但是老是忘記,用一次丟一次,為了能夠更好的記住,我今天特意寫(xiě)下python 當(dāng)前時(shí)間這篇文章,如果你覺(jué)的對(duì)你有用的話,可以收藏下。2016-08-08Python網(wǎng)絡(luò)爬蟲(chóng)四大選擇器用法原理總結(jié)
這篇文章主要介紹了Python網(wǎng)絡(luò)爬蟲(chóng)四大選擇器用法原理總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06