Pandas将带有微秒的时间戳输出到Excel。

3

我的数据框中有微秒级分辨率,这非常重要,但无论我尝试什么,我都无法让 Excel 在 .xls 或 .xlsx 中显示微秒级分辨率。有没有办法在不显式转换为字符串的情况下显示微秒级分辨率?


你能举个例子吗?Pandas的时间戳是以纳秒为单位的,所以微秒不是问题。 - Andy Hayden
@AndyHayden 实际上,pandas 支持它,但无论你做什么,Excel 都不支持微秒分辨率。如果你问我,这很烦人。现在我正在把所有的时间戳转换为文本,然后输出到 Excel - 这是我能想到的唯一方法。 - stgtscc
1个回答

2
使用GitHub上最新版本的Pandas(以及即将发布的0.13.1版本),您可以在ExcelWriter()中指定Excel日期格式,如下所示:

import pandas as pd
from datetime import datetime

df = pd.DataFrame([datetime(2014, 2, 1, 12, 30, 5, 60000)])

writer = pd.ExcelWriter("time.xlsx", date_format='hh:mm:ss.000')

df.to_excel(writer, "Sheet1")

writer.close()

这将显示微秒时间(或至少毫秒,因为Excel的显示限制为毫秒):

enter image description here

另请参见使用Python Pandas和XlsxWriter工作


谢谢,我安装了0.13.1版本,我相信它至少可以序列化微秒,但很遗憾Excel无法显示微秒分辨率...也许LibreOffice可以。 - stgtscc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接