xlrd的目的就是為了程式化處理excel檔案而生
xlrd是python的乙個模組
xlrd可以處理老式的xls和新式的xlsx的excel檔案,利用這個模組可以匯入excel工作簿中所有檔案。
import xlrd
defparse_file
(datafile):
workbook=xlrd.open_workbook(datafile)
#用於開啟工作簿
sheet=workbook.sheet_by_index(0)
#用於設定待處理的工作表,這裡選擇表0
data=[[sheet.cell_value(r,col)
for col in range(sheet.ncols)]
for r in range(sheet.nrows)]
#這段**是遍歷所有的行和所有的列,並將資料讀取成python列表[1]
[1]的進一步解釋
實際上這乙個語句類似於列表表示式
print ["{}_{}".format(i,j) for i in range(1,4) for j in range(1,4)]
或者寫成這樣
result=
for i in range(1,4):
for j in range(1,4):
print result
輸出結果如下所示
['1_1', '1_2', '1_3', '2_1', '2_2', '2_3', '3_1', '3_2', '3_3']
format函式介紹
格式化字串的函式str.format()
它通過{}和:來代替%。
「對映」示例
in [1]: ','.format('kzc',18)
out[1]: 'kzc,18'
in [2]: '{},{}'.format('kzc',18)
out[2]: 'kzc,18'
in [3]: ',,'.format('kzc',18)
out[3]: '18,kzc,18'
通過關鍵字引數
in [5]: ','.format(age=18,name='kzc')
out[5]: 'kzc,18'
for row in range(sheet.nrows):
for col in range(sheet.ncols):
if row == 50:
print sheet.cell_value(row, col)
#把第50行中的內容全部列印出來,但一次只列印一列
print sheet.nrows
#列印工作表中的行數
print sheet.cell_type(3, 2)
#列印第3行2列數的資料型別
print sheet.cell_value(3, 2)
#列印第3行2列數的值
print sheet.col_values(3, start_rowx=1, end_rowx=4)
#將第3列的值進行切片,從第1行到第3行開始
exceltime = sheet.cell_value(1, 0)
print xlrd.xldate_as_tuple(exceltime, 0)
#使用xldate_as_tuple方法獲取時間,讓python當做日期進行處理
xlrd處理Excel資料 讀
1.什麼是xlrd?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫 2.使用 1.常用單元格中的資料型別 empty 空的 string text number date boolean error blank 空白 2.檔案開啟 ...
excel用xlrd日期變成42631 0
datetime的解決辦法 混合資料的表中有個日期 2016 9 18 通過table.row values row number 1 讀取時,顯示的結果為 42631.0 檢視row values方法的原始碼 def row values self,rowx,start colx 0,end co...
xlrd操作excel資料
import xlrd 開啟excel檔案 data xlrd.open workbook r 示例資料.xlsx xlrd中常用函式 table data.sheets 0 通過索引順序獲取sheet,返回xlrd.sheet.sheet 物件 print table table data.she...