我正在编写一个脚本,该脚本使用 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”。有什么想法吗?
谢谢! 问候
答案 0 :(得分:0)
如果不设置关键字parse_dates,则转换后的列 读取 csv,使用 pd.to_datetime 和关键字 errors='coerce',什么 结果你得到了吗?该列是否具有 NaT 值? – MrFuppes 32 分钟 之前
MrFuppes 对调用 pd.to_datetime 的评论导致成功。列中的一个错误日期是导致错误的原因。 Lumber Jacks 的提示也有助于确定数据类型!