Pythonで文字列から日付を抽出する 質問する

Pythonで文字列から日付を抽出する 質問する

「monkey 2010-07-10 love banana」のような文字列から日付を抽出するにはどうすればいいでしょうか? よろしくお願いします!

ベストアンサー1

使用python-dateutil:

In [1]: import dateutil.parser as dparser

In [18]: dparser.parse("monkey 2010-07-10 love banana",fuzzy=True)
Out[18]: datetime.datetime(2010, 7, 10, 0, 0)

無効な日付の場合は次のエラーが発生しますValueError:

In [19]: dparser.parse("monkey 2010-07-32 love banana",fuzzy=True)
# ValueError: day is out of range for month

さまざまな形式の日付を認識できます。

In [20]: dparser.parse("monkey 20/01/1980 love banana",fuzzy=True)
Out[20]: datetime.datetime(1980, 1, 20, 0, 0)

日付があいまいな場合は推測が行われることに注意してください。

In [23]: dparser.parse("monkey 10/01/1980 love banana",fuzzy=True)
Out[23]: datetime.datetime(1980, 10, 1, 0, 0)

ただし、あいまいな日付を解析する方法はカスタマイズ可能です。

In [21]: dparser.parse("monkey 10/01/1980 love banana",fuzzy=True, dayfirst=True)
Out[21]: datetime.datetime(1980, 1, 10, 0, 0)

おすすめ記事