web-dev-qa-db-ja.com

python xlrdを使用してExcelから浮動ではない文字列として日付を読み取る

可能性のある複製:
PythonでExcel形式の日付を読み取るにはどうすればよいですか?

私の日付はExcelファイルの任意のフィールドに含めることができますが、python xlrdを使用してそれを読み取ると、フロートとして読み取られます。すべてのExcelセルを文字列として読み取る方法はありますか?

Excelファイルのすべての値をパイプで区切ったファイルを生成するスクリプトを準備したいのですが、この日付の問題が原因です。

14
Kundan Kumar

Excelは日付を浮動小数点数として保存します。それらを変換したい場合、xlrdはこれを支援する関数を持っています: xldate_as_Tuple

例:

import datetime, xlrd
book = xlrd.open_workbook("myfile.xls")
sh = book.sheet_by_index(0)
a1 = sh.cell_value(rowx=0, colx=0)
a1_as_datetime = datetime.datetime(*xlrd.xldate_as_Tuple(a1, book.datemode))
print 'datetime: %s' % a1_as_datetime
52
jojo