您好,登錄后才能下訂單哦!
小編這次要給大家分享的是詳解Python如何實現(xiàn)讀取并寫入Excel文件,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
需求是有兩個Excel文件:1.xlsx,2.xlsx,比較2.xlsx中的A,B列和1.xlsx中的A,B列;查找1.xlsx中存在,2.xlsx中不存在的行數(shù)據(jù),輸出到result.xlsx文件中
1.xlsx內(nèi)容如下
2.xlsx內(nèi)容如下
上代碼
# coding=utf-8 import xlrd import xlwt # 打開文件 #data = xlrd.open_workbook('./附件7:溶洞鉆孔、埋管、注漿.xlsx') # 查看工作表 #data.sheet_names() #print("sheets:" + str(data.sheet_names())) # 通過文件名獲得工作表,獲取工作表1 #table = data.sheet_by_name('20200404') # 打印data.sheet_names()可發(fā)現(xiàn),返回的值為一個列表,通過對列表索引操作獲得工作表1 # table = data.sheet_by_index(0) # 獲取行數(shù)和列數(shù) # 行數(shù):table.nrows # 列數(shù):table.ncols #print("總行數(shù):" + str(table.nrows)) #print("總列數(shù):" + str(table.ncols)) # 獲取整行的值 和整列的值,返回的結(jié)果為數(shù)組 # 整行值:table.row_values(start,end) # 整列值:table.col_values(start,end) # 參數(shù) start 為從第幾個開始打印, # end為打印到那個位置結(jié)束,默認為none #print("整行值:" + str(table.row_values(0))) #print("整列值:" + str(table.col_values(1))) # 獲取某個單元格的值,例如獲取B3單元格值 #cel_B3 = table.cell(3,2).value #print("第三行第二列的值:" + cel_B3) def read_xlrd(excelFile,tablename): data = xlrd.open_workbook(excelFile) #table = data.sheet_by_index(0) table = data.sheet_by_name(tablename) print("總行數(shù):" + str(table.nrows)) print("總列數(shù):" + str(table.ncols)) dataFile = [] for rowNum in range(table.nrows): # if 去掉表頭 if rowNum > 0: dataFile.append(table.row_values(rowNum)) return dataFile workbook = xlwt.Workbook(encoding = 'ascii') worksheet = workbook.add_sheet('sheet1') def writeLine(row ,line): col=0 while col <len(line): worksheet.write(row,col, line[col]) col+=1 filename1='./附件7:溶洞鉆孔、埋管、注漿.xlsx' data1=read_xlrd(filename1,'20200404') filename2='./設(shè)計之都溶洞注漿臺賬.xlsx' data2=read_xlrd(filename2,'Sheet1') data=[] for row in data1[4:]: #print(row[0],row[1]) data.append([row[0],row[1]]) #print(data) result=[] i=0 for row in data2[1:]: buf=[row[1],row[2]] if buf not in data: print(row,'不存在') writeLine(i, row) i+=1 workbook.save('result.xlsx')
之后生成結(jié)果result.xlsx文件
看完這篇關(guān)于詳解Python如何實現(xiàn)讀取并寫入Excel文件的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。