首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止Excel从时间戳中删除秒?

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

Stack Overflow用户
提问于 2020-06-30 20:29:13
回答 1查看 657关注 0票数 2

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

代码语言:javascript
复制
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中打开它,一切看起来都很好:

如果我将该文件保存在Excel中(不更改任何内容),则在重新打开时,秒数被舍入为0

查看记事本中保存的Excel文件会显示秒数丢失了

代码语言:javascript
复制
1/1/2020 9:00,0
1/1/2020 9:00,1
1/1/2020 9:00,2
...

此更改在保存为副本或覆盖时发生。奇怪的是,如果保存后保持原始文档打开,则仍然会看到保存的秒数,直到关闭并重新打开为止。

在上下文中,我正在为其他可能使用Excel与其数据交互的用户(非Python用户)编写文件。甚至调整列的大小都会提示保存,所以我发现它们很可能会无意中丢失数据。

当我使用Python创建这个示例时,我也看到了用其他语言编写的时间戳问题。

是否有更好的方法来记录时间序列数据以防止这种情况发生?或者,Excel中是否有一个修复程序(最好是永久选项或设置),可以与以这种格式获取数据的用户共享?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-04 18:00:32

根据这些评论发表答复:

保存为XLSX而不是CSV

直接保存到Excel格式(df.to_excel()而不是df.to_csv()),或者将您的CSV保存为Excel格式。这将保留时间戳,不需要任何额外的格式设置。 的这种方法

中对CSV数据的格式化

另一个选项是使用"Format Cell“选项(对于单元格或整个日期列),并使用"Custom”格式(在本例中,将模板"m/d/yyyy :mm“更改为"m/d/yyyy :mm:ss”)。此选项允许您保留CSV格式和时间数据的全部范围。 的这个答案。

每个选项都有一个小的缺点。首先,您必须锁定用户使用Excel查看数据。但是有许多免费的工具可以将数据从一种格式转换为另一种格式,因此这对用户来说很容易处理。对于第二个选项,格式设置不是永久性的,每次打开文件时都必须执行。对于用户来说,这似乎不太方便,但在某些情况下仍然很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62665687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档