Python/pandas 导出到 excel 转换日期时间 (HH:mm)
Posted
技术标签:
【中文标题】Python/pandas 导出到 excel 转换日期时间 (HH:mm)【英文标题】:Python/pandas export to excel converted datatime (HH:mm) 【发布时间】:2021-01-25 22:01:04 【问题描述】:我对 xlsx 有疑问 - 从 pandas 导出数据透视表。 一切都很好,除了一件事:导出的值数据('job_time')是字符串而不是数据时间类型。 将数据输入 df 后,所有列都是对象类型(包括具有值的列)。 我尝试将其转换为数据时间类型:
df['job_time'] = pd.to_datetime(df.job_time)
它将此列转换为数据时间,但格式为 YYYY-MM-DD HH:MM:SS,我需要 HH:MM。 所以接下来我使用了 dt.strftime:
df.job_time = df.job_time.dt.strftime('%H:%M')
看起来不错,除了一件事:job_time 又是一个对象类型。 导出到excel后的值为文本类型。
所以我的问题是:如何使用 HH:mm 值导出此数据,但导出数据时间,而不是文本?
【问题讨论】:
【参考方案1】:试试这个:
df['job_time'] = pd.to_datetime(df.job_time, format='%H:%M')
df['job_time'] = df['job_time'].dt.strftime('%H:%M')
【讨论】:
这个选项有问题:“ValueError:未转换的数据仍然存在::00.0000000”。如果我将 %S.%f 添加到格式,则输出为 'YYYY-DD-MM HH:mm:ss.0000000' 向我们展示您的部分数据print(df.job_time) 0 08:00:00.0000000 1 08:00:00.0000000 2 08:00:00.0000000
... 有点奇怪。数据来自 SQL,我将 job_time 的时间格式从 time(7) 更改为 time(0)。但它一直显示 7 毫秒的数字。
df['job_time'] = pd.to_datetime
之后的格式为“2020-10-11 08:00:00” 名称:job_time,长度:357,dtype:datetime64[ns]
Se 更新了上面的答案。我希望这就是你要找的......以上是关于Python/pandas 导出到 excel 转换日期时间 (HH:mm)的主要内容,如果未能解决你的问题,请参考以下文章
遇到问题--python--pandas--dataframe进行groupby之后导出数据to_excel内容为空
遇到问题--python--pandas--dataframe进行groupby之后导出数据to_excel内容为空
遇到问题--python--pandas--dataframe进行groupby之后导出数据to_excel内容为空