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提供正确的输入。