我正在使用pandas.read_excel()
将excel表转换为数据框以在Python中使用。该表包含以下格式的日期列:01Jun2018
。
当我运行指令时,表就变成了数据帧。问题出在我现在在墨西哥工作的月份,该月缩写用西班牙语拼写。因此,日期列会显示一些具有正确日期时间类型信息的单元格,但最初包含与西班牙语月份名称不对应的月份的单元格(例如:april != abril, January != Enero
)会显示原始字符串。我需要对日期进行一些操作,因此此列必须完全是datetime-type。
我尝试将语言环境切换为en_US
,但是什么也没发生。
答案 0 :(得分:0)
您需要使用locale
来设置语言环境。如果您已经有了这样的数据框:
dates
0 01Ene2018
1 20Feb2018
2 01Jun2018
然后,您需要在设置区域设置后使用pd.to_datetime
更改该列的类型:
import locale
import pandas as pd
locale.setlocale(locale.LC_ALL, locale.locale_alias["es_mx"])
df.dates = pd.to_datetime(df.dates, format="%d%b%Y")
print(df.dates)
输出:
0 2018-01-01
1 2018-02-20
2 2018-06-01
Name: dates, dtype: datetime64[ns]
这是假设您在系统中安装了es_MX
语言环境,否则将需要安装它。