Python實(shí)現(xiàn)讀取并寫入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
# 打開文件
#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è)開始打印,
# 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利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽和字體改變的方法
今天小編就為大家分享一篇python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽和字體改變的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python中raise用法簡(jiǎn)單實(shí)例(超級(jí)詳細(xì),看了無(wú)師自通)
python中raise語(yǔ)句用于手動(dòng)觸發(fā)異常,通過(guò)raise語(yǔ)句可以在代碼中顯式地引發(fā)異常,從而使程序進(jìn)入異常處理流程,下面這篇文章主要給大家介紹了關(guān)于Python中raise用法的相關(guān)資料,需要的朋友可以參考下2024-03-03
Python檢測(cè)兩個(gè)文本文件相似性的三種方法
檢測(cè)兩個(gè)文本文件的相似性是一個(gè)常見的任務(wù),可以用于文本去重、抄襲檢測(cè)等場(chǎng)景,Python 提供了多種方法來(lái)實(shí)現(xiàn)這一功能,x下面小編就來(lái)簡(jiǎn)單介紹一下吧2025-03-03
Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法詳解
這篇文章主要介紹了Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法,結(jié)合實(shí)例形式分析了django的第三方模塊django-pure-pagination的安裝、使用及實(shí)現(xiàn)分頁(yè)的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
python+opencv邊緣提取與各函數(shù)參數(shù)解析
這篇文章主要介紹了python+opencv邊緣提取與各函數(shù)參數(shù)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

