溫馨提示×

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

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

python對(duì)Excel按條件進(jìn)行內(nèi)容補(bǔ)充(推薦)

發(fā)布時(shí)間:2020-10-14 20:55:25 來(lái)源:腳本之家 閱讀:152 作者:LanYun''''sBlog 欄目:開發(fā)技術(shù)

關(guān)于xlrd/xlwt和openpyxl的差別

兩者都是對(duì)于excel文件的操作插件,兩者的主要區(qū)別在于寫入操作,

其中xlwt針對(duì)Ecxec2007之前的版本,即.xls文件,其要求單個(gè)sheet不超過(guò)65535行,
而openpyxl則主要針對(duì)Excel2007之后的版本(.xlsx),它對(duì)文件大小沒有限制。

另外還有區(qū)別就是二者在讀寫速度上的差異,xlrd/xlwt在讀寫方面的速度都要優(yōu)于openpyxl,但xlwt無(wú)法生成xlsx

openpyxl的用法

官方文檔

先了解下Worksheet.cell() 方法。

這提供了對(duì)使用行和列表示法的單元格的訪問(wèn):

d = ws.cell(row=4, column=2, value=10)

獲取某個(gè)單元格的數(shù)據(jù)

#通過(guò)坐標(biāo)讀取表格中的數(shù)據(jù)
cell_value1=sheet0.cell_value(y,x)

數(shù)據(jù)寫入

import openpyxl
import datetime
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = 520
ws.append([1,2,3])
ws['A3'] = datetime.datetime.now()
wb.save("F:/demo.xlsx")

數(shù)據(jù)更新

import openpyxl
'''
操作Excel

需求:數(shù)據(jù)1的內(nèi)容需要數(shù)據(jù)2補(bǔ)充 關(guān)聯(lián)關(guān)系是都存在唯一的工號(hào)

'''
def excel():
  wb1 = openpyxl.load_workbook('數(shù)據(jù)1.xlsx')  #路徑
  sheet1 = wb1.active
  wb2 = openpyxl.load_workbook('數(shù)據(jù)2.xlsx')
  sheet2 = wb2.active
  for i in range(2, 1211): #數(shù)據(jù)1.xlsx的數(shù)據(jù)量
    id2 = sheet2.cell(i, 2).value  #獲取數(shù)據(jù)1唯一工號(hào)
    for j in range(2, 1225): #數(shù)據(jù)2.xlsx的數(shù)據(jù)量
      id1 = sheet1.cell(j, 2).value #獲取數(shù)據(jù)2唯一工號(hào)
      if(id1 == id2):
        sheet1.cell(j, 5).value = sheet2.cell(i, 5).value  #賦值
        sheet1.cell(j, 8).value = sheet2.cell(i, 1).value
        sheet1.cell(j, 7).value = sheet2.cell(i, 6).value
  wb1.save('xg3.xlsx') #存入到一張新的excel表中

if __name__ == "__main__":
  excel()

總結(jié)

以上所述是小編給大家介紹的python對(duì)Excel按條件進(jìn)行內(nèi)容補(bǔ)充,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI