python - 如何使用 Pandas 以所需语言从 excel 中读取日期列?
问题描述
我正在使用pandas.read_excel()
将 excel 表转换为数据框以在 Python 中使用。此表包含以下格式的日期列:01Jun2018
。当我运行指令时,表格就可以很好地转换为数据帧。问题源于我目前在墨西哥工作,那里的月份缩写是用西班牙语拼写的。因此,日期列显示一些具有正确日期时间类型信息的单元格,但最初包含与西班牙语月份名称不对应的月份的单元格(例如:)april != abril, January != Enero
显示原始字符串。我需要对日期进行一些操作,因此这些列必须完全是日期时间类型。
我尝试将语言环境切换为en_US
但没有任何反应。
解决方案
您需要使用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
在系统中安装了语言环境,否则您将需要安装它。
推荐阅读
- r - 在 clusterApply 中的块之间传递外部值(并行包)
- c - 指向多维数组错误的指针:表达式必须具有指向对象的指针类型
- netsuite - Netsuite 中的条件必填字段
- amazon-kinesis - KCL 如何在内部产生新的 RecordProcessor
- r - 如何从滑块输入中获取值并将它们写入变量?
- mysql - 在 mysql 中管理版本化数据
- apache-spark - 火花流作业中任务之间的长时间且一致的等待
- swift - UIPickerView 上的完成工具栏
- clojure - Clojure 规范和解构?
- java - 我不能在 onReceive() 中的 onResponse() 之外使用 json 结果 - 改造