无法将字符串转换为日期(葡萄牙语语言环境)

时间:2019-05-20 07:37:40

标签: python-3.x pandas

我正在尝试将日期列中的字符串转换为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' 请您提示如何解决此问题。

2 个答案:

答案 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)

请注意,如果您没有dateparser库。

即使使用Jupiter笔记本,也要安装它。

pip3 install dateparser

enter image description here

!pip3 install dateparser

该库可以使用语言不可知的方式来理解200多种语言环境以及多种格式。

解析通用术语也可以:

import dateparser
print (dateparser.parse('yesterday')) #2019-05-19 08:08:14.934992

,并且还支持非格里高利历系统。