溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解Python如何實現(xiàn)讀取并寫入Excel文件

發(fā)布時間:2020-07-21 14:30:55 來源:億速云 閱讀:240 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是詳解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)容如下

詳解Python如何實現(xiàn)讀取并寫入Excel文件

2.xlsx內(nèi)容如下

詳解Python如何實現(xiàn)讀取并寫入Excel文件

上代碼

# 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文件

詳解Python如何實現(xiàn)讀取并寫入Excel文件

看完這篇關(guān)于詳解Python如何實現(xiàn)讀取并寫入Excel文件的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

免責(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)容。

AI