Python xlrd excel文件操作代碼實(shí)例
打開(kāi)文件
import xlrd
data = xlrd.open_workbook('路徑')
獲取文件中所有工作表的名稱(chēng)。
data.sheet_names()
相當(dāng)于進(jìn)入文件中的一個(gè)工作表。
table = data.sheet_by_name('Sheet1')
查看工作表一共有幾行
rowNum = table.nrows
查看工作表一共有幾列
colNum = table.ncols
查看第一行所有的名稱(chēng)。
farst = table.row_values(0)
查看第一列所有的名稱(chēng)(其中包含合并單元格的)
farst = table.col_values(0)
查看讀取內(nèi)容的格式:(int類(lèi)型)0empty,1string,2number,3date,4boolean,5error
小應(yīng)用:
將文件內(nèi)的內(nèi)容按照對(duì)應(yīng)關(guān)系一一對(duì)應(yīng),并將空的去除,判斷是否有int類(lèi)型,如果有將轉(zhuǎn)換。
#!/usr/bin/env python # _*_ coding:utf-8 _*_ # __author__ = 'XinBing' import xlrd data = xlrd.open_workbook('D:\python\交通費(fèi)報(bào)銷(xiāo)單.xlsx') #打開(kāi)文件 # data.sheet_names() # #獲取文件中所有工作表的名稱(chēng)。 table = data.sheet_by_name('Sheet1') #相當(dāng)于進(jìn)入文件中的一個(gè)工作表。 rowNum = table.nrows #查看工作表一共有幾行 10 colNum = table.ncols #查看工作表一共有幾列 3 farst = table.row_values(0) #查看第一行所有的名稱(chēng)。 #簡(jiǎn)單將文件第一行的數(shù)值和第二行一一對(duì)應(yīng),并添加到字典中,最后添加到列表中。 lis = [] for i in range(1,rowNum): #第二行開(kāi)始循環(huán)。 dic = {} for i2 in range(colNum): #第一列開(kāi)始。 data = table.cell_value(i,i2) dic[farst[i2]] = data if table.cell(i,i2).ctype != 2 else int(data) # #判斷類(lèi)型是否為數(shù)字類(lèi)型。針對(duì)循環(huán)出來(lái)的行數(shù)和列數(shù)將內(nèi)容打印出來(lái)。 for k,y in dic.items(): # 判斷字典內(nèi)容里有沒(méi)有包含空的元素,如果有就不寫(xiě)入到字典中。默認(rèn)是全部寫(xiě)入 if not y: dic= {} break if dic : lis.append(dic) print(lis) #[{'費(fèi)用名稱(chēng)': '火車(chē)票', '金額(元)': 921, '單據(jù)張數(shù)': 2}, {'費(fèi)用名稱(chēng)': '油票', '金額(元)': 3306, '單據(jù)張數(shù)': 13}, {'費(fèi)用名稱(chēng)': '合計(jì)', '金額(元)': 4227, '單據(jù)張數(shù)': 15}]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python操作Excel工作簿的示例代碼(\*.xlsx)
- 利用python在excel中畫(huà)圖的實(shí)現(xiàn)方法
- python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例
- Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)
- python實(shí)現(xiàn)word文檔批量轉(zhuǎn)成自定義格式的excel文檔的思路及實(shí)例代碼
- python實(shí)現(xiàn)自動(dòng)化報(bào)表功能(Oracle/plsql/Excel/多線程)
- Python調(diào)用接口合并Excel表代碼實(shí)例
相關(guān)文章
Pandas?DataFrame.drop()刪除數(shù)據(jù)的方法實(shí)例
pandas作為數(shù)據(jù)分析強(qiáng)大的庫(kù),是基于numpy數(shù)組構(gòu)建的,專(zhuān)門(mén)用來(lái)處理表格和混雜的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas?DataFrame.drop()刪除數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-07-07python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異
下面小編就為大家?guī)?lái)一篇python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05python爬蟲(chóng)之Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶(hù)手勢(shì)
這篇文章主要介紹了python爬蟲(chóng)怎樣通過(guò)Appium爬取手機(jī)App數(shù)據(jù)及模擬用戶(hù)手勢(shì),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08Django forms表單 select下拉框的傳值實(shí)例
今天小編就為大家分享一篇Django forms表單 select下拉框的傳值實(shí)例。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python通過(guò)Django實(shí)現(xiàn)用戶(hù)注冊(cè)和郵箱驗(yàn)證功能代碼
這篇文章主要介紹了Python通過(guò)Django實(shí)現(xiàn)用戶(hù)注冊(cè)和郵箱驗(yàn)證功能代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12Python使用openpyxl實(shí)現(xiàn)Excel超鏈接批量化設(shè)置
在Excel中,超鏈接是一種非常有用的功能,本文我們將介紹如何使用Python來(lái)處理Excel中的超鏈接,以及如何將超鏈接與對(duì)應(yīng)的工作表鏈接起來(lái),需要的可以參考一下2023-07-07Python3.4學(xué)習(xí)筆記之類(lèi)型判斷,異常處理,終止程序操作小結(jié)
這篇文章主要介紹了Python3.4學(xué)習(xí)筆記之類(lèi)型判斷,異常處理,終止程序操作,結(jié)合具體實(shí)例形式分析了Python3.4模塊導(dǎo)入、異常處理、退出程序等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-03-03Python最火、R極具潛力 2017機(jī)器學(xué)習(xí)調(diào)查報(bào)告
Python最火,R極具潛力,分享2017機(jī)器學(xué)習(xí)調(diào)查報(bào)告,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-122022最新Python日志庫(kù)logging總結(jié)
這篇文章主要介紹了2022最新Python日志庫(kù)logging總結(jié),Python logging 庫(kù)設(shè)計(jì)的真的非常靈活,如果有特殊的需要還可以在這個(gè)基礎(chǔ)的 logging 庫(kù)上進(jìn)行改進(jìn),創(chuàng)建新的 Handler 類(lèi)解決實(shí)際開(kāi)發(fā)中的問(wèn)題,需要的朋友可以參考下2022-05-05