Pythonでxlrdで読み込んだ数値型の日時をdatetimeオブジェクトに変換する方法

この記事は公開から1年以上経過しています。

Python(3.9)でxlrd(2.0.1)でEXCELを読み込んだ際に数値型として取得された日時をdatetime.datetimeオブジェクトへ変換する方法についての備忘録。


対応

from collections import namedtuple

import xlrd

CellPosition = namedtuple('CellPosition',['rowx', 'colx'])

book = xlrd.open_workbook('c:\\temp\\date_test.xls')
sheet = book.sheet_by_index(0)

# セルA1
cellPos = CellPosition(0, 0)
cell_type = sheet.cell_type(*cellPos)
cell_value = sheet.cell_value(*cellPos)
print(cell_value)
# セルの型が日付の場合はdatetime.datetimeオブジェクトに変換
if cell_type == xlrd.XL_CELL_DATE:
    cell_value = xlrd.xldate_as_datetime(cell_value,book.datemode)
print(cell_value)


結果

入力EXCELファイル:

file

出力値:

45055.0
2023-05-09 00:00:00


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする