excel用xlrd日期變成42631 0

2022-08-17 06:54:11 字數 702 閱讀 8138

datetime的解決辦法

混合資料的表中有個日期:2016/9/18

通過table.row_values(row_number)[1]讀取時,顯示的結果為:42631.0

檢視row_values方法的原始碼:

def row_values(self, rowx, start_colx=0, end_colx=none):

if end_colx is none:

return self._cell_values[rowx][start_colx:]

return self._cell_values[rowx][start_colx:end_colx]12

34也就是說返回了self._cell_values,self._cell_values在原始碼中的定義為:self._cell_values = ,這就是問題的根源

第一種解決辦法:

xldate.xldate_as_datetime把日期轉換回來

xldate.xldate_as_datetime(table.row_values(row_number)[1], 0)12

第二種解決辦法:

先用xldate.xldate_as_tuple(table.row_values(row_number)[1],0)

顯示結果為:(2016, 9, 27, 0, 0, 0)

xldate_as_tuple原始碼部分:

用XLRD批處理Excel

xlrd的目的就是為了程式化處理excel檔案而生 xlrd是python的乙個模組 xlrd可以處理老式的xls和新式的xlsx的excel檔案,利用這個模組可以匯入excel工作簿中所有檔案。import xlrd defparse file datafile workbook xlrd.ope...

xlrd 讀取excel 日期型別2種方式

有個excle 需要做一些過濾然後寫入資料庫中,但是日期型別的cell取出來是個數字,於是查詢了下解決的辦法。基本的 結構 python view plain copy data xlrd.open workbook excel path table data.sheet by index 0 li...

使用excel匯入功能時日期資料變成數字的解決

在使用excel匯入功能的時候,難免會匯入日期型別的資料,這個時候無論使用easyexcel還是poi的匯入方式,都有可能出現純數字的日期。1 如果輸入的日期是1900年之前的,則不會變成純數字 2 如果是1900年之後的日期,則在匯入的時候可能會變成數字 從這張圖裡面就能看出來原因 excel解析...