【发布时间】:2023-03-16 22:40:02
【问题描述】:
我正在处理一个 csv 文件,其中包含一个名为 startTime 的列,其中包含时间。
使用 Excel 打开此文件时,时间在编辑栏中显示为 AM/PM 时间,尽管列中的时间戳显示格式不正确:
startTime
16:02.0
17:45.0
18:57.0
20:23.0
使用 pandas 的 read_csv 读取此文件时,我无法正确格式化这些时间戳:
import pandas as pd
df = pd.read_csv('example_file.csv')
print(df.startTime)
简单地产生:
0 16:02.0
1 17:45.0
2 18:57.0
3 20:23.0
我首先尝试使用pd.to_datetime(df.startTime,format=" %H%M%S") 转换输出系列,但这会产生以下错误消息:
时间数据“16:02.0”与格式“%H%M%S”不匹配(匹配)
然后我尝试了基于 this answer 的 pd.to_datetime(df.startTime,format=" %I:%M:%S %p"),以考虑 AM/PM 约定,但这返回了相同的错误消息。
如何使用 pandas 像 Excel 那样自动格式化这些时间戳?
【问题讨论】:
-
您能否将您的 csvfile 内容上传为文本而不是图像?
-
当然,我会更新我的问题并将 csv 文件的内容作为文本包含在内,但我也希望读者可视化 Excel 的公式栏。
标签: python excel pandas parsing timestamp