Python實(shí)現(xiàn)讀取并寫(xiě)入Excel文件過(guò)程解析
需求是有兩個(gè)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 # 打開(kāi)文件 #data = xlrd.open_workbook('./附件7:溶洞鉆孔、埋管、注漿.xlsx') # 查看工作表 #data.sheet_names() #print("sheets:" + str(data.sheet_names())) # 通過(guò)文件名獲得工作表,獲取工作表1 #table = data.sheet_by_name('20200404') # 打印data.sheet_names()可發(fā)現(xiàn),返回的值為一個(gè)列表,通過(guò)對(duì)列表索引操作獲得工作表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 為從第幾個(gè)開(kāi)始打印, # end為打印到那個(gè)位置結(jié)束,默認(rèn)為none #print("整行值:" + str(table.row_values(0))) #print("整列值:" + str(table.col_values(1))) # 獲取某個(gè)單元格的值,例如獲取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è)計(jì)之都溶洞注漿臺(tái)賬.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文件
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python高效解析和操作XML/HTML的實(shí)用指南
在?Python?生態(tài)系統(tǒng)中,lxml?是一個(gè)功能強(qiáng)大且廣泛使用的庫(kù),用于高效地解析和操作?XML?和?HTML?文檔,這篇文章從?lxml?的基礎(chǔ)安裝開(kāi)始,逐步深入講解如何解析文檔、提取數(shù)據(jù)、修改文檔結(jié)構(gòu),并涵蓋了處理大型文檔和使用命名空間等進(jìn)階操作,需要的朋友可以參考下2024-10-10使用pycharm和pylint檢查python代碼規(guī)范操作
這篇文章主要介紹了使用pycharm和pylint檢查python代碼規(guī)范操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python實(shí)現(xiàn)棧和隊(duì)列的簡(jiǎn)單操作方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)棧和隊(duì)列的簡(jiǎn)單操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Python棧和隊(duì)列的原理與簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11Python實(shí)現(xiàn)五子棋聯(lián)機(jī)對(duì)戰(zhàn)小游戲
本文主要介紹了通過(guò)Python實(shí)現(xiàn)簡(jiǎn)單的支持聯(lián)機(jī)對(duì)戰(zhàn)的游戲——支持局域網(wǎng)聯(lián)機(jī)對(duì)戰(zhàn)的五子棋小游戲。廢話(huà)不多說(shuō),快來(lái)跟隨小編一起學(xué)習(xí)吧2021-12-12簡(jiǎn)單分析python的類(lèi)變量、實(shí)例變量
在本篇文章中小編給大家整理的是關(guān)于python類(lèi)變量、實(shí)例變量的知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-08-08Python實(shí)現(xiàn)打磚塊小游戲代碼實(shí)例
這篇文章主要介紹了Python打磚塊小游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05python循環(huán)神經(jīng)網(wǎng)絡(luò)RNN函數(shù)tf.nn.dynamic_rnn使用
這篇文章主要為大家介紹了python循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的tf.nn.dynamic_rnn使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05