1、xlrd庫的安裝
直接使用pip工具進行安裝(當然也可以使用pycharmide進行安裝,這裡就不詳述了)
2、xlrd模組的一些常用命令
①開啟excel檔案並建立物件儲存
data = xlrd.open_workbook(檔案路徑)②獲取檔案中所有工作表的名稱
data.sheet_names()③根據工作表的名稱獲取裡面的行列內容
table = data.sheet_by_name('④獲取工作表的名稱、行數、列數sheet1
')
name = table.name⑤獲取單元格內容的3種方式rownum = table.nrows
colnum = table.ncols
table.cell(i,j).value⑥獲取單元格資料型別table.cell_value(i,j)
table.row(i)[j].value
table.cell(i,j).ctypexlrd的資料型別有:或者type(table.cell_value(i, j)
0 empty,
1 string,
2 number,
3 date,
4 boolean,
5 error
預設從excel中取出的資料列印出來會有問題:
數字一律按浮點型輸出,日期輸出成一串小數,布林型輸出0或1,所以我們必須在程式中做判斷處理轉換成我們想要的資料型別
⑦獲取工作表第一行的所有字段列表
table.row_values(0)3、寫乙個自動獲取excel表內容的類本**已實現自動轉換單元格資料型別,不會發生整形數字以浮點數顯示,布林型true或false顯示為1,0;日期時間顯示為一連串的小數問題
import在本地建立了乙個excel檔案,內容如下:xlrd
from xlrd import
xldate_as_tuple
import
datetime
'''xlrd中單元格的資料型別
數字一律按浮點型輸出,日期輸出成一串小數,布林型輸出0或1,所以我們必須在程式中做判斷處理轉換
成我們想要的資料型別
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
'''class
exceldata():
#初始化方法
def__init__
(self, data_path, sheetname):
#定義乙個屬性接收檔案路徑
self.data_path =data_path
#定義乙個屬性接收工作表名稱
self.sheetname =sheetname
#使用xlrd模組開啟excel表讀取資料
self.data =xlrd.open_workbook(self.data_path)
#根據工作表的名稱獲取工作表中的內容(方式①)
self.table =self.data.sheet_by_name(self.sheetname)
#根據工作表的索引獲取工作表的內容(方式②)
#self.table = self.data.sheet_by_name(0)
#獲取第一行所有內容,如果括號中1就是第二行,這點跟列表索引類似
self.keys =self.table.row_values(0)
#獲取工作表的有效行數
self.rownum =self.table.nrows
#獲取工作表的有效列數
self.colnum =self.table.ncols
#定義乙個讀取excel表的方法
defreadexcel(self):
#定義乙個空列表
datas =
for i in range(1, self.rownum):
#定義乙個空字典
sheet_data ={}
for j in
range(self.colnum):
#獲取單元格資料型別
c_type =self.table.cell(i,j).ctype
#獲取單元格資料
c_cell =self.table.cell_value(i, j)
if c_type == 2 and c_cell % 1 == 0: #
如果是整形
c_cell =int(c_cell)
elif c_type == 3:
#轉成datetime物件
date = datetime.datetime(*xldate_as_tuple(c_cell,0))
c_cell = date.strftime('
%y/%d/%m %h:%m:%s')
elif c_type == 4:
c_cell = true if c_cell == 1 else
false
sheet_data[self.keys[j]] =c_cell
#迴圈每乙個有效的單元格,將字段與值對應儲存到字典中
#字典的key就是excel表中每列第一行的字段
#sheet_data[self.keys[j]] = self.table.row_values(i)[j]
#再將字典追加到列表中
#返回從excel中獲取到的資料:以列表存字典的形式返回
return
datas
if__name__ == "
__main__":
data_path = "
ttt.xlsx
"sheetname = "
sheet1
"get_data =exceldata(data_path, sheetname)
datas =get_data.readexcel()
print(datas)
**執行後效果展示:
[, , ,,
]
Python xlrd模組讀取xls檔案
import sys from xlrd import open workbook xlrd用於讀取xld workbook open workbook 記錄人員資訊.xls 開啟xls檔案 sheet name workbook.sheet names 列印所有sheet名稱,是個列表 sheet...
Python xlrd模組讀取Excel表中的資料
1 xlrd庫的安裝 直接使用pip工具進行安裝 當然也可以使用pycharmide進行安裝,這裡就不詳述了 2 xlrd模組的一些常用命令 開啟excel檔案並建立物件儲存 data xlrd.open workbook 檔案路徑 獲取檔案中所有工作表的名稱 data.sheet names 根據...
python xlrd讀取datetime型別資料
使用xlrd讀取出來的時間欄位是類似41410.5083333的浮點數,在使用時需要轉換成對應的datetime型別,下面 是轉換的方法 首先需要引入xldate as tuple函式 from xlrd import xldate as tuple d是從excel中讀取出來的浮點數 xldate...