Skip to main content
 首页 » 编程设计

python之从西类牙语解析日期和更改格式

2025年05月04日24mate10pro

这可能是一个重复的问题,但因为我已经阅读了所有 关于它的评论,我没有解决我的问题,我不得不再问一次。

我正在使用一个数据框,其中有一个外观如下的列:

print final['fecha_dato'][2] 

2017 年 31 日能源

我这样做是为了让它更容易理解:

d = final['fecha_dato'][2] 
d = d.replace(' de ','-') 
d = d.replace(' del ','-') 

我得到这个输出: '31-Enero-2017'

我想将其转换为 31-01-2017 格式,我尝试这样做是为了使 西类牙语可理解:

locale.setlocale(locale.LC_ALL, 'en_US') 

但它说:不支持的语言环境设置。

一旦我完成了这个,我想我将不得不做这样的事情:

datetime.strptime('6-Mar-2016', '%d-%b-%Y').strftime('%Y-%m-%d') 

让我们看看是什么问题。如果你能给我一种使用替换的方法 只用一句话,那也很棒。 提前致谢!!

请您参考如下方法:

您可能在 Windows 上,区域设置代码不同。首先,您解析语言环境,以便您可以使用适当的代码正确读取日期字符串:

import locale 
locale.setlocale(locale.LC_ALL, 'esp_esp') 

然后,如您所料,您使用 strptime 解析字符串以获取日期对象,然后使用 strftime 将其转换回您想要的格式的字符串:

from datetime import datetime as dt 
date = dt.strptime('31 de Enero del 2017', '%d de %B del %Y') 
date_str = date.strftime('%Y-%m-%d')