从西班牙语解析日期并更改格式 [英] Parse date and change format from spanish

查看:29
本文介绍了从西班牙语解析日期并更改格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我使用的是一个数据框,其中有一列如下所示:

print final['fecha_dato'][2]

31 de Enero del 2017

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

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解析字符串以获得Date对象,然后使用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')

这篇关于从西班牙语解析日期并更改格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆