【问题标题】:Python/pandas export to excel converted datatime (HH:mm)Python/pandas 导出到 excel 转换日期时间 (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 值导出此数据,但导出数据时间,而不是文本?

【问题讨论】:

    标签: python excel pandas datetime format


    【解决方案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 更新了上面的答案。我希望这就是你要找的......
    猜你喜欢
    • 2017-10-22
    • 2016-01-27
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    相关资源
    最近更新 更多