使用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]
再次,秒钟还在那里。 这回答了你的问题了吗?