使用Python来更改csv数据列格式

我正在使用pythonpandas来读取csv文件。 csv文件有一个date时间列,其中有第二精度“9/1/2015 9:25:00 AM”,但如果我在Excel中打开,它只有微小的精度“9/1/15 9:25”。 而且,当我使用pd.read_csv()函数时,它只显示最高精度。 有什么办法,我可以用python解决这个问题吗? 非常感谢。

这是Excel的时间格式问题/哲学。 出于某种原因,微软更倾向于在用户显示屏上隐藏秒和分秒:甚至MSDOS的dir命令也会省略秒。

如果我是你,我会使用Excel的format操作,并将其设置为显示秒,然后将电子表格保存为CSV,并查看是否放入任何内容来logging改进的格式。

如果这不起作用,您可以探索创build一个可以进行格式化的macros,或者使用IPC到Excel中的一个命令来执行您的出价。

进入“格式单元格”并inputd/mm/yyyy h:mm:ss作为自定义格式选项

在这里输入图像描述

编辑:不知道我是否完全理解你的问题。 试试这个:使用一行“9/1/2015 9:25:00 AM”创build一个文本文件,称之为test.csv 。 现在做df = pd.read_csv('test.csv', header=None) 。 如果你用df[0]打印你的列,你应该看到:

 In [35]: df[0] Out[35]: 0 9/1/2015 9:25:00 AM Name: 0, dtype: object 

即pandas刚刚读了一个string(对象)的列,秒就在那里。

如果您想转换为时间戳,请调用pd.to_datetime

 In [36]: pd.to_datetime(df[0]) Out[36]: 0 2015-09-01 09:25:00 Name: 0, dtype: datetime64[ns] 

再次,秒钟还在那里。 这回答了你的问题了吗?