Python-熊猫,日期时间格式问题

时间:2020-11-04 13:19:58

标签: python pandas datetime time type-conversion

我有一个两列的数据框,其中包含起飞和到达时间(请参见下面的示例)。 为了在那些时间进行操作,我想将字符串转换为日期时间格式,仅保留小时/分钟/秒的信息。

输入数据示例-文件名=表

departure_time,arrival_time
07:00:00,07:30:00
07:00:00,07:15:00
07:05:00,07:22:00
07:10:00,07:45:00
07:15:00,07:50:00
07:10:00,07:26:00
07:40:00,08:10:00

我运行了以下代码以导入表文件,然后将类型转换为日期时间格式:

import pandas as pd
from datetime import datetime

df= pd.read_excel("table.xlsx")

df['arrival_time']= pd.to_datetime(df['arrival_time'], format= '%H:%M:%S')

但出现此错误:

ValueError: time data ' 07:30:00' does not match format '%H:%M:%S' (match)

我犯了什么错误?

1 个答案:

答案 0 :(得分:3)

好像是一个导入问题' 07:30:00',前面有一个空格。如果您要导入的是CSV文件,则可以使用skipinitialspace=True

如果我导入您的CSV文件并使用您的代码,则效果很好:

CSV:

departure_time,arrival_time
07:00:00,07:30:00
07:00:00,07:15:00
07:05:00,07:22:00
07:10:00,07:45:00
07:15:00,07:50:00
07:10:00,07:26:00
07:40:00,08:10:00

df = pd.read_csv('test.csv', skipinitialspace=True)
df['arrival_time']= pd.to_datetime(df['arrival_time'], format='%H:%M:%S').dt.time
print(df)


  departure_time arrival_time
0       07:00:00     07:30:00
1       07:00:00     07:15:00
2       07:05:00     07:22:00
3       07:10:00     07:45:00
4       07:15:00     07:50:00
5       07:10:00     07:26:00
6       07:40:00     08:10:00