将数据框转换为CSV时出错

时间:2018-09-14 04:36:05

标签: python pandas csv

对于自动化,我需要将excel文件转换为csv,并在某些列中进行一些修改。在其中一列中,我需要将时间戳更改为%Y-%m-%d%H:%M:%S'。目前,我能够执行所有操作,并且更改会反映在数据帧上,但当我将其转换为csv时,时间戳格式会更改,

这是我一直在尝试的代码

df=pd.read_excel(file,headers=0,index=False)
print(df.head())
df['Reported On '] = pd.to_datetime(df['Reported On '])
df['Reported On ']= df['Reported On '].apply(lambda x: dt.datetime.strftime(x, '%Y-%m-%d %H:%M:%S'))
df.to_csv(csv_name,index=False)

CSV中的“报告日期”列的值为:8/10/2017 10:50

当我将数据框转换为excel时,它会为我提供所需的格式。

是csv的问题吗?

1 个答案:

答案 0 :(得分:1)

即使我无法重现您的错误,也请注意,您可以在编写文件时在csv文件中定义日期的字符串表示形式,而不用更改数据:

df=pd.read_excel(file,headers=0,index=False)
print(df.head())
df['Reported On '] = pd.to_datetime(df['Reported On '])
df.to_csv(csv_name, date_format='%Y-%m-%d %H:%M:%S', index=False)

无论如何,这比IMO更好,因为它使您的数据帧在可计算状态下不受某些输出格式要求的影响。