“列表”对象没有属性“ strptime”

时间:2018-11-28 05:02:18

标签: python pandas datetime time strptime

在这里,我想读取包含在csv文件中的24小时格式的时间。我编写了将该类转换为%H:%M:%S格式的时间的类。但我遇到了错误

  

“列表”对象没有属性“ strptime”

有人可以解决这个问题吗?我在这里发布我的代码。

import pandas as pd
import time
import datetime

def convertTime(s):
    tm = time.strptime(s, "%H:%M:%S")
    return datetime.datetime.strptime(tm.tm_hour, tm.tm_min, tm.tm_sec)

data = pd.read_csv('x.csv')
row_num = 0
for row in data:
    if(row_num == 0):
    time.append(convertTime(row[0]))

这是我的csv文件的子集

time         g
6:15:00   141
9:00:00   0
9:25:00   95
9:30:00   0
11:00:00  149

2 个答案:

答案 0 :(得分:3)

在代码的某个地方(或在命令行中)创建了全局列表time(请参见time.append(...))。此列表遮盖了您打算在函数中使用的模块time。换句话说:time是一个列表。给该列表起另一个名字。

答案 1 :(得分:1)

这能达到您想要的吗?

df['time'] = pd.to_datetime(df['time'], format='%H:%M:%S').dt.time
df.set_index('time', inplace=True)

# plotting
df.plot()