【问题标题】:Exporting Datetime from pandas to sqlite results in float format将日期时间从 pandas 导出到 sqlite 会导致浮点格式
【发布时间】:2021-05-05 11:34:08
【问题描述】:

我有以下带有进入时间和退出时间列的数据框。

Entry Time  Exit Time
23:03:00    23:55:00
22:46:00    23:55:00
23:03:00    23:57:00
15:59:00    17:51:00
23:17:00    23:48:00

在使用以下行获取上述内容之前,最初将两列都转换为 DateTime

df = pd.to_datetime(df,format="%H%M", errors='coerce').dt.time

我接下来要做的是使用以下行将列导出到 SQLite 数据库

df.to_sql(name='time', con=cnx, if_exists='append', index=False)

我希望在 Pandas 中具有进入时间和退出时间的列。但是,数据库中的数据正在被转换为如下。

23:03:00.000000|23:55:00.000000
22:46:00.000000|23:55:00.000000
23:03:00.000000|23:57:00.000000
15:59:00.000000|17:51:00.000000
23:17:00.000000|23:48:00.000000

如何保持与 Dataframe 中相同的格式?

【问题讨论】:

  • 使用 dtype 字符串是一个选项吗?而不是调用.dt.time(它为您提供一系列datetime.time 对象),而是.dt.strftime('%H:%M:%S')

标签: python pandas database sqlite datetime


【解决方案1】:

这可以通过以下方式解决,如评论中所述:

df = pd.to_datetime(df,format="%H%M", errors='coerce').dt.strftime('%H:%M:%S')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    相关资源
    最近更新 更多