熊猫在阅读 csv 时无法识别日期

时间:2021-02-05 09:49:52

标签: python pandas string csv datetime

我正在编写一个脚本,该脚本使用 Pandas 读取 .csv 文件并填写特定表格。 .csv 文件中的一列是生日列。

在阅读 .csv 时,我使用 'parse_dates' 解析它以获取日期时间对象,以便我可以根据需要对其进行格式化:

df = pd.read_csv('readfile1.csv',sep=';', parse_dates=['birthday'])

虽然它与 readfile1.csv 完美配合,但它不适用于 readfile2.csv。但这些文件看起来完全一样。

我得到的错误让我认为通过 Pandas 自动解析到日期时间不起作用:

print(df.at[i,'birthday'].strftime("%d%m%Y"))
AttributeError: 'str' object has no attribute 'strftime'

在这两种情况下,生日的格式如下:

'1965-05-16T12:00:00.000Z' #from readfile1.csv
'1934-04-06T11:00:00.000Z' #from readfile2.csv

我不知道出了什么问题。我检查了文件的编码,两者都是“UTF-8”。有什么想法吗?

谢谢! 问候

1 个答案:

答案 0 :(得分:0)

<块引用>

如果不设置关键字parse_dates,则转换后的列 读取 csv,使用 pd.to_datetime 和关键字 errors='coerce',什么 结果你得到了吗?该列是否具有 NaT 值? – MrFuppes 32 分钟 之前

MrFuppes 对调用 pd.to_datetime 的评论导致成功。列中的一个错误日期是导致错误的原因。 Lumber Jacks 的提示也有助于确定数据类型!