python xlrd讀取datetime型別資料

2021-08-21 02:59:50 字數 1939 閱讀 1134

使用xlrd讀取出來的時間欄位是類似41410.5083333的浮點數,在使用時需要轉換成對應的datetime型別,下面**是轉換的方法:

首先需要引入xldate_as_tuple函式:

from xlrd import xldate_as_tuple
#d是從excel中讀取出來的浮點數

xldate_as_tuple(d,0)

xldate_as_tuple第二個引數有兩種取值,0或者1,0是以1900-01-01為基準的日期,而1是1904-01-01為基準的日期。該函式返回的是乙個元組,他的值類似:(year, month, day, hour, minute, nearest_second)

例子:excel中e2單元格值為2018/05/27

from xlrd import xldate_as_tuple

result = xldate_as_tuple(ws['e2'].value,0)

print(result) # 結果(2018, 5, 27, 0, 0, 0)

from xlrd import xldate_as_tuple

result = xldate_as_tuple(ws.cell(row=2,column=5).value,0)

print(result) # 結果(2018, 5, 27, 0, 0, 0)

注意:該例子沒有對第一行的資料進行處理。第一行資料作為key,其它行作為value,依次返回每行資料。 

import xlrd

from datetime import datetime

from xlrd import xldate_as_tuple

def get_excel_data(file): # 傳入檔案路徑字串即可,例如:get_excel_data('account.xlsx')

workbook = xlrd.open_workbook(file)

sheet = workbook.sheets()[0] # 讀取第乙個sheet

nrows = sheet.nrows # 行數

first_row_values = sheet.row_values(0) # 第一行資料

list =

num = 1

for row_num in range(1, nrows):

row_values = sheet.row_values(row_num)

if row_values:

str_obj = {}

for i in range(len(first_row_values)):

ctype = sheet.cell(num, i).ctype

cell = sheet.cell_value(num, i)

if ctype == 2 and cell % 1 == 0.0: # ctype為2且為浮點

cell = int(cell) # 浮點轉成整型

cell = str(cell) # 轉成整型後再轉成字串,如果想要整型就去掉該行

# 這個代表**中是日期型別

elif ctype == 3:

date = datetime(*xldate_as_tuple(cell, 0))

cell = date.strftime('%y/%m/%d %h:%m:%s')

elif ctype == 4:

cell = true if cell == 1 else false

str_obj[first_row_values[i]] = cell

num = num + 1

return list

---------------------

原文:

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模組讀取Excel表中的資料

1 xlrd庫的安裝 直接使用pip工具進行安裝 當然也可以使用pycharmide進行安裝,這裡就不詳述了 2 xlrd模組的一些常用命令 開啟excel檔案並建立物件儲存 data xlrd.open workbook 檔案路徑 獲取檔案中所有工作表的名稱 data.sheet names 根據...