使用Python更改csv数据列格式

时间:2015-10-16 03:56:01

标签: python excel csv pandas

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

2 个答案:

答案 0 :(得分:0)

这是Excel的时间格式问题/理念。出于某种原因,微软更喜欢在用户显示器上隐藏秒和亚秒:甚至MSDOS的dir命令都会被忽略。

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

如果这不起作用,您可以探索创建一个执行格式化的宏,或者使用IPC to Excel之一来命令它进行出价。

答案 1 :(得分:0)

进入"格式化单元格"并输入d/mm/yyyy h:mm:ss作为自定义格式选项

enter image description here

编辑:不确定我是否完全理解您的问题。试试这个:用一行创建一个文本文件" 9/1/2015 9:25:00 AM",称之为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刚刚将列作为字符串(对象)读取,秒就在那里。

如果您想转换为时间戳,请致电pd.to_datetime

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

再次秒仍在那里。这是否回答了你的问题?