Python 西班牙语日期时间返回NaT
我有一个日期列,格式为Python 西班牙语日期时间返回NaT,python,pandas,datetime,Python,Pandas,Datetime,我有一个日期列,格式为19 dic 2020 23:59(西班牙语日期) 我想把它转换成datetime类型 df[“Time”]=pd.to_datetime(df.Time,格式='%d%b%Y%H:%M',errors=“强制”) 运行代码后,代码列是正确的类型datetime,但它只包含NaT值 我做错了什么 我认为这是一个错误,与pandas的功能不支持其他地区(如您的情况)有关。我建议按照这两个答案中的描述更改区域设置或迭代。第一种方法通过datetime使用区域设置更改,第二种方
19 dic 2020 23:59
(西班牙语日期)
我想把它转换成datetime
类型
df[“Time”]=pd.to_datetime(df.Time,格式='%d%b%Y%H:%M',errors=“强制”)
运行代码后,代码列是正确的类型datetime
,但它只包含NaT值
我做错了什么
我认为这是一个错误,与pandas的功能不支持其他地区(如您的情况)有关。我建议按照这两个答案中的描述更改区域设置或迭代。第一种方法通过
datetime
使用区域设置更改,第二种方法建议使用替换
这既不是熊猫问题,也不是地点问题。首先,您的strtime
指令稍有错误,其次,您的输入与%b
不匹配pd.to_datetime
如果设置了正确的区域设置、提供了正确的输入并设置了正确的format指令,则工作正常:
import locale
locale.setlocale(locale.LC_ALL, 'es_ES')
import pandas as pd
s = '19 dic 2020 23:59'
print(pd.to_datetime(s.replace('dic', 'dic.'), format='%d %b %Y %H:%M'))
# 2020-12-19 23:59:00
什么是“dic”,应该是“dec”?@adirabargil,而不是特定于国家的日期时间格式。这一点应在问题中具体说明。Ignacio:请不要发布代码/数据/错误消息的图像。将文本直接张贴在SO上。SO有重复标志,原因是
%b
,西班牙语月名缩写输入必须是例如dic。
;注意点。这既不是pandas问题,也不是区域设置问题-即使您正确设置了区域设置,仍然需要为strtime提供正确的输入。