本文實(shí)例為大家分享了python操作EXCEL的實(shí)例源碼,供大家參考,具體內(nèi)容如下
讀EXCEL的操作:把excel的數(shù)據(jù)存儲(chǔ)為字典類型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#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)格式寫入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() |
寫EXCEL的操作:把csv文件的數(shù)據(jù)按照需求寫入到excel文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#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í)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/henni_719/article/details/78280968