PythonでExcelの日付と時刻を扱う際、Excelの日付と時刻が数値形式で表されることがあります。この記事では、その数値をPythonのdatetimeオブジェクトに変換する方法を紹介します。

Excelの日付と時刻の数値

Excelでは、日付は1900年1月1日を起点として、そこからの日数を加算した数値で日付データを保持しています。例えば、2017年5月29日は42884と表されます。これは、1900年1月1日から42884日経過していることを示しています。

Pythonでの変換方法

Pythonでこの数値を日付形式に変換するには、datetimetimedeltaを用いて次のように加算します。

def excel_date(num):
    from datetime import datetime, timedelta
    return(datetime(1899, 12, 30) + timedelta(days=num))

この関数にExcelの日付数値を入力すると、対応する日付のdatetimeオブジェクトが返されます。例えば、41496を入力すると、2013年8月10日のdatetimeが返されます。

excel_date(41946)
> datetime.datetime(2013, 8, 10, 0, 0)

このように、Pythonを使ってExcelの日付と時刻の数値を簡単に変換することができます。このテクニックは、データ分析や自動化スクリプトなど、様々な場面で役立つでしょう。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です