如何使用Pandas从excel中读取所需语言的日期列?

2024-03-29 14:48:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pandas.read_excel()将excel表转换为数据帧,以便在Python中使用。此表包含以下格式的日期列:01Jun2018。 当我运行指令时,表被转换成数据帧。这个问题源于我目前在墨西哥工作,那里的月份缩写是用西班牙语拼写的。因此,date列显示了一些具有正确datetime类型信息的单元格,但是最初包含月份的单元格与西班牙语中的月份名称不对应(例如:april != abril, January != Enero),显示了原始字符串。我需要对日期做一些操作,所以这个列必须完全是datetime类型。你知道吗

我尝试过将区域设置切换到en_US,但什么也没发生。你知道吗


Tags: 数据名称pandasreaddatetimedate格式指令
1条回答
网友
1楼 · 发布于 2024-03-29 14:48:11

您需要使用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语言环境,否则需要安装它。你知道吗

相关问题 更多 >