我正在尝试将日期列中的字符串转换为13-mai-2019
但是当我使用以下代码时:datetime.datetime.strptime('23-mai-2019', '%d-%B-%Y').strftime('%d-%B-%Y')
我收到以下错误:
ValueError: time data '23-mai-2019' does not match format '%d-%B-%Y'
请您提示如何解决此问题。
答案 0 :(得分:2)
使用名为dateparser
的日期解析库:
import dateparser
print (dateparser.parse('13-mai-2019'))
2019-05-13 00:00:00
print (dateparser.parse('13-mai-2019').strftime('%d-%B-%Y'))
13-May-2019
要使用日期列,请使用Series.apply
:
df = pd.DataFrame({'date': ['13-mai-2019','13-mai-2019']})
print(df)
date
0 13-mai-2019
1 13-mai-2019
import dateparser
df['date_new'] = df['date'].apply(dateparser.parse)
df['date_new_en'] = df['date'].apply(dateparser.parse).dt.strftime('%d-%B-%Y')
print (df)
date date_new date_new_en
0 13-mai-2019 2019-05-13 13-May-2019
1 13-mai-2019 2019-05-13 13-May-2019
答案 1 :(得分:0)