【问题标题】:Correct reading of datetime with AM/PM format正确读取 AM/PM 格式的日期时间
【发布时间】:2022-07-18 22:07:58
【问题描述】:

我正在尝试读取一些 csv 文件,其中包含一个名为“timestamp”的列,格式如下: 2022 年 7 月 6 日晚上 7:30:00 应转换为 (mm/dd/YYYY hh:mm:ss)。我尝试的是在阅读 csv 文件后使用:

df['timestamp']= pd.to_datetime(df['timestamp'],format='%m/%d/%Y %I:%M:%S %p')

而且它呈现一个完全不同的东西,这个错误:

ValueError: 时间数据 '07-06 19:30' 与格式 '%m/%d/%Y %I:%M:%S %p' 不匹配(匹配)

'07-06 19:30' 这个值与直接读取 csv 时出现的值相同,没有格式化,这很奇怪,因为当我打开 csv 时,完整日期就在那里。我对这种情况有点迷茫,因为我无法转换日期。

谢谢

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    Pandas 已经足够先进,可以半自动地计算格式,唯一要解决的歧义是指定第一个数字不是天数:

    pd.to_datetime(df['timestamp'], dayfirst=False)
    

    示例:

    0   2022-07-06 19:30:00
    Name: timestamp, dtype: datetime64[ns]
    

    【讨论】:

      猜你喜欢
      • 2010-10-04
      • 2021-02-17
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多