python對Excel按條件進(jìn)行內(nèi)容補(bǔ)充(推薦)
關(guān)于xlrd/xlwt和openpyxl的差別
兩者都是對于excel文件的操作插件,兩者的主要區(qū)別在于寫入操作,
其中xlwt針對Ecxec2007之前的版本,即.xls文件,其要求單個(gè)sheet不超過65535行,
而openpyxl則主要針對Excel2007之后的版本(.xlsx),它對文件大小沒有限制。
另外還有區(qū)別就是二者在讀寫速度上的差異,xlrd/xlwt在讀寫方面的速度都要優(yōu)于openpyxl,但xlwt無法生成xlsx
openpyxl的用法
先了解下Worksheet.cell() 方法。
這提供了對使用行和列表示法的單元格的訪問:
d = ws.cell(row=4, column=2, value=10)
獲取某個(gè)單元格的數(shù)據(jù)
#通過坐標(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)系是都存在唯一的工號
''' 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唯一工號 for j in range(2, 1225): #數(shù)據(jù)2.xlsx的數(shù)據(jù)量 id1 = sheet1.cell(j, 2).value #獲取數(shù)據(jù)2唯一工號 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對Excel按條件進(jìn)行內(nèi)容補(bǔ)充,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Python實(shí)戰(zhàn)購物車項(xiàng)目的實(shí)現(xiàn)參考
今天小編就為大家分享一篇關(guān)于Python實(shí)戰(zhàn)購物車項(xiàng)目的實(shí)現(xiàn)參考,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02Python3一行代碼實(shí)現(xiàn)圖片文字識別的示例
本篇文章主要介紹了Python3一行代碼實(shí)現(xiàn)圖片文字識別的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01python GUI庫圖形界面開發(fā)之PyQt5 MDI(多文檔窗口)QMidArea詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5 MDI(多文檔窗口)QMidArea詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-03-03Python通過yagmail實(shí)現(xiàn)發(fā)送郵件代碼解析
這篇文章主要介紹了Python通過yagmail實(shí)現(xiàn)發(fā)送郵件代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10Python3.6簡單操作Mysql數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了Python3.6簡單操作Mysql數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件
這篇文章主要為大家詳細(xì)介紹了python3+PyQt5+Qt Designer實(shí)現(xiàn)堆疊窗口部件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法
這篇文章主要介紹了如何打包Python Web項(xiàng)目,實(shí)現(xiàn)免安裝一鍵啟動(dòng),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05