私はPythonでExcelファイルから受け取ったデータを解析しようとしています。このため私はxlrd
ライブラリを使用しています。私は値が5/16/2016 12:15であるExcelにセルを持っていて、Pythonでそれを42506.6493として受け取っています。 Excelは1900年1月1日以降の日数として日付を保存することを理解します。私はの値を読むときしかし日付変換Python DatetimeとExcelの違い
orgDate = datetime.datetime(1900,1,1,0,0,0,0)
xlVal = 42506.6493
newDate = orgDate + datetime.timedelta(days=int(xlVal))
:だからPythonで、私は以下のコードを使用して、同じ日付を取得するには(時間を表す割合せずに今のわずか数日)の日のこの番号を追加しようとしていますnewDate
私はそれがdatetime.datetime(2016, 5, 18, 0, 0)
であるのに対し、それは5月16日ではないはずです。誰もこれをどう扱うかを知っていますか?
私はPythonの開発者ではありませんが、値を整数に丸めてint()しませんか?だからあなたの割合 ".6493"は "+1"に切り上げられます。つまり、42506は42507になりますか? – Andreas
私は上記の場合、1日の差分が正しいです。それはおそらく、エクセルの0日目が1日目のpythonであるからでしょうか?だから1900-01-01 12:00は "0.5"をエクセルしていますが、Pythonの日時 "1.5"では何ですか? – Andreas
こんにちはアンドレアス。いいえ、int(x.y)はxを返します。 2日差(18 - > 16)もあります。 – Y2H