Python xlrd excel文件操作代碼實(shí)例
打開文件
import xlrd
data = xlrd.open_workbook('路徑')
獲取文件中所有工作表的名稱。
data.sheet_names()
相當(dāng)于進(jìn)入文件中的一個工作表。
table = data.sheet_by_name('Sheet1')
查看工作表一共有幾行
rowNum = table.nrows
查看工作表一共有幾列
colNum = table.ncols
查看第一行所有的名稱。
farst = table.row_values(0)
查看第一列所有的名稱(其中包含合并單元格的)
farst = table.col_values(0)
查看讀取內(nèi)容的格式:(int類型)0empty,1string,2number,3date,4boolean,5error
小應(yīng)用:
將文件內(nèi)的內(nèi)容按照對應(yīng)關(guān)系一一對應(yīng),并將空的去除,判斷是否有int類型,如果有將轉(zhuǎn)換。

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# __author__ = 'XinBing'
import xlrd
data = xlrd.open_workbook('D:\python\交通費(fèi)報銷單.xlsx')
#打開文件
# data.sheet_names()
# #獲取文件中所有工作表的名稱。
table = data.sheet_by_name('Sheet1')
#相當(dāng)于進(jìn)入文件中的一個工作表。
rowNum = table.nrows
#查看工作表一共有幾行 10
colNum = table.ncols
#查看工作表一共有幾列 3
farst = table.row_values(0)
#查看第一行所有的名稱。
#簡單將文件第一行的數(shù)值和第二行一一對應(yīng),并添加到字典中,最后添加到列表中。
lis = []
for i in range(1,rowNum):
#第二行開始循環(huán)。
dic = {}
for i2 in range(colNum):
#第一列開始。
data = table.cell_value(i,i2)
dic[farst[i2]] = data if table.cell(i,i2).ctype != 2 else int(data)
# #判斷類型是否為數(shù)字類型。針對循環(huán)出來的行數(shù)和列數(shù)將內(nèi)容打印出來。
for k,y in dic.items():
# 判斷字典內(nèi)容里有沒有包含空的元素,如果有就不寫入到字典中。默認(rèn)是全部寫入
if not y:
dic= {}
break
if dic :
lis.append(dic)
print(lis)
#[{'費(fèi)用名稱': '火車票', '金額(元)': 921, '單據(jù)張數(shù)': 2}, {'費(fèi)用名稱': '油票', '金額(元)': 3306, '單據(jù)張數(shù)': 13}, {'費(fèi)用名稱': '合計', '金額(元)': 4227, '單據(jù)張數(shù)': 15}]
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
39條Python語句實(shí)現(xiàn)數(shù)字華容道
這篇文章主要為大家詳細(xì)介紹了39條Python語句實(shí)現(xiàn)數(shù)字華容道,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04
Python+OpenCV圖像處理——實(shí)現(xiàn)直線檢測
這篇文章主要介紹了Python+OpenCV如何實(shí)現(xiàn)直線檢測,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下2020-10-10
Jupyter Notebook折疊輸出的內(nèi)容實(shí)例
這篇文章主要介紹了Jupyter Notebook折疊輸出的內(nèi)容實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

