gpt4 book ai didi

python - 如何防止 Excel 从时间戳中删除秒?

转载 作者:行者123 更新时间:2023-12-04 20:50:58 24 4
gpt4 key购买 nike

我有一个具有第二分辨率的时间序列数据帧,我将其保存到 CSV 文件中:

import pandas as pd

dr = pd.date_range('01/01/2020 9:00', '01/01/2020 9:10', freq='1s')
df = pd.DataFrame(index=dr, data=range(len(dr)))
df.to_csv('some_data.csv', header=False)
然后我可以在 Excel 中打开它,一切看起来都很好:
enter image description here
如果我将文件保存在 Excel 中(不做任何更改),重新打开 秒数向下舍入为 0 :
enter image description here
在记事本中查看 Excel 保存的文件显示 秒数已丢失 :
1/1/2020 9:00,0
1/1/2020 9:00,1
1/1/2020 9:00,2
...
保存为副本或覆盖时会发生更改。奇怪的是,如果您在保存后保持原始文档打开,您仍然会看到保留的秒数,直到您关闭并重新打开。
在上下文中,我正在为可能使用 Excel 与他们的数据交互的其他(不使用 Python)用户编写文件。甚至调整列的大小也会提示保存,所以我发现他们很可能会无意中丢失数据。
当我使用 Python 创建这个示例时,我也看到了用其他语言编写的时间戳的问题。
有没有更好的方法来记录时间序列数据来防止这种情况发生?或者我可以与以这种格式获取数据的用户共享 Excel 中的修复(最好是永久选项或设置)?

最佳答案

根据评论发布答案:
另存为 XLSX 而不是 CSV
直接保存为 Excel 格式(df.to_excel() 而不是 df.to_csv())或将您的 CSV 从 Excel 保存为 Excel 格式。这将保留时间戳并且不需要任何额外的格式。 归功于 vmouffronRon对于这种方法 .
在Excel中格式化CSV的数据
另一个选项是使用具有“自定义”格式的“单元格格式”选项(用于单元格或整个日期列)(在这种情况下,将模板“m/d/yyyy h:mm”更改为“m/d/yyyy h:mm:ss")。此选项允许您保留 CSV 格式和时间数据的完整范围。 归功于 Mohammad对于这个答案。
这些选项中的每一个都有一个小的缺点。首先,您必须锁定用户使用 Excel 来查看数据。但是有许多免费工具可以将数据从一种格式转换为另一种格式,因此用户很容易处理。对于第二个选项,格式化不是永久性的,每次打开文件时都必须进行格式化。这对用户来说似乎不太方便,但在某些情况下仍然可能有用。

关于python - 如何防止 Excel 从时间戳中删除秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62665687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com