我正在使用python pandas读取csv文件。csv文件有一个日期时间列,其秒精度为"9/1/2015 9:25:00 AM",但如果我在excel中打开,它只有分钟精度"9/1/15 9:25“。此外,当我使用pd.read_csv()函数时,它只显示到分钟精度。有没有什么办法可以用python解决这个问题?提前谢谢你。
发布于 2015-10-16 12:09:20
这是Excel的时间格式化问题/理念。出于某些原因,微软更喜欢在用户显示中隐藏秒和次秒:甚至连微软的dir命令都省略了秒。
如果我是你,我会使用Excel的format操作,并将其设置为显示秒数,然后将电子表格保存为CSV,并查看其中是否包含任何内容来记录改进后的格式。
如果这不起作用,您可以尝试创建一个执行格式化的宏,或者使用Excel的某个IPC命令它执行您的命令。
发布于 2015-10-16 13:44:23
进入“设置单元格格式”并输入d/mm/yyyy h:mm:ss作为您的自定义格式选项

编辑:不确定我是否完全理解您的问题。试试这个:创建一个文本文件,只有一行"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]再说一次,秒数仍然存在。这回答了你的问题吗?
https://stackoverflow.com/questions/33162320
复制相似问题