Python中xlrd模塊解析
xlrd
導入模塊
import xlrd
2、打開指定的excel文件,返回一個data對象
data = xlrd.open_workbook(file) #打開excel表,返回data對象
3、通過data對象可以得到各個sheet對象(一個excel文件可以有多個sheet,每個sheet就是一張表格)
Sheet1 = data.sheet_by_index(0) #通過索引順序獲取 sheet_by_index(0)為第一個sheet 同理sheet_by_index(1)為第二個sheet 獲取的sheet返回的是16進制地址
# ,如:<xlrd.sheet.Sheet object at 0x000001FC8E966208>
Sheet1 = data.sheet_by_name(''sheet名稱'') #通過名稱獲取 同上返回的sheet是一個16進制地址對象
Sheet1 = data.sheets()[0] #通過索引順序獲取 同第一個差不多,效果一樣
num =data.nsheets #返回sheet的數目
list = data.sheets() #返回所有sheet對象的列表
list = data.sheet_names() #返回所有sheet對象名字的列表 此方式返回的對象是sheet的展示表名
4、通過sheet對象可以獲取各個單元格,每個單元格是一個cell對象
name = sheet1.name #返回sheet1的名稱
nrows =sheet1.nrows #返回sheet1的行數
ncols = sheet1.ncols #返回sheet1的列數
sheet1.cell_type(x,y) #返回cell的對象類型 在python中的坐標都是從0開始的,譬如x=1,y=1 代表的是第2行第2列對應的單元格
sheet1.cell(x,y).ctype #返回cell的對象類型
#python讀取excel中單元格的內容返回的有5種類型。ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error。即date的ctype=3,這時需要使用 xlrd的xldate_as_tuple來處理為date格式,先判斷表格的ctype=3時xldate才能開始操作。
sheet1.cell_value(x,y) #返回cell的值 需要注意的是如果數據類型是 boolean型的返回的是1或者0 如果是data型的話返回的是一個數值,這就要用到上面的xldate_as_tuple 方法了,cell1=xlrd.xldate_as_tuple(sheet1.cell_value(x,y) ,0) 轉換成元組的形式展示 例如:轉換后的cell1元組以這種形式展示 (2019, 9, 19, 0, 0, 0)
sheet1.cell(x,y).value #返回cell的值
sheet1.row(x) #獲取指定行,返回cell對象的列表 同時展示行中各cell對象的數據類型
sheet1.row_values(x) #獲取指定行,返回列表
sheet1.col(x) #獲取指定列,返回cell對象的列表 同時展示列中各cell對象的數據類型
sheet1.col_values(x) #獲取指定列,返回列表 列中的內容
