如何解析更改格式的德语日期?

时间:2019-11-13 08:25:10

标签: python pandas datetime

我正在尝试解析以下数据框

IN:
import pandas as pd
d = {'Tag': ['Tag 1', 'Tag 2'], 'Datum': ['07. März 1971', '29. Nov. 1970']}
df = pd.DataFrame(data=d)

OUT:   
  Tag          Datum
0  Tag 1  07. März 1971
1  Tag 2  29. Nov. 1970

我了解我需要使用语言环境来指定格式:

import locale

我发现了多个已尝试的设置:

# locale.setlocale(locale.LC_ALL, "german")
# locale.setlocale(locale.LC_ALL, 'deu_deu')
# locale.setlocale(locale.LC_ALL, 'de_DE')
locale.setlocale(locale.LC_ALL, 'de_DE.utf8')

但是我找不到使用 to_dateime 的正确代码:

 # df['Date'] = pd.to_datetime(df['Datum'])
 df['Date'] = pd.to_datetime(df['Datum'], format="%d. %b. %Y")

问题是否与德语格式的月份格式不一致有关? 如何在这里使用 to_datetime

1 个答案:

答案 0 :(得分:4)

不是pd.to_datetime的答案,但是还有另一个软件包dateparser可以处理多种语言的日期。

import dateparser

df['Datum'] = df['Datum'].apply(dateparser.parse)
     Tag      Datum
0  Tag 1 1971-03-07
1  Tag 2 1970-11-29