如何解决TypeError:列表索引必须是整数,而不是列表?

时间:2015-10-11 15:29:46

标签: python pandas typeerror

我正在以json格式下载数据并将其保存到数据框中。

data = []
for day in range(9,10):
       request=Request('https://api..../10/'+str(day)+'/'+appId='+appID+')
       response = urlopen(request)
       arrivals = response.read()
       d = json.loads(arrivals)
       data.append(json_normalize(d['Statuses']))

data[column_names].to_csv("data.csv")

但是,此代码的最后一行提供了错误:

TypeError: list indices must be integers, not list

看起来data是一个列表。我尝试按如下方式创建datadata = pandas.DataFrame(),但也有错误。 如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的data是一个列表,正如您在开始时定义的那样 - data = [] - 因此,当您尝试使用其他列表column_names访问它们时,您会收到错误消息

如果您尝试连接从不同请求获得的不同数据帧,则应在data上使用pandas.concat将列表中的所有数据帧连接到单个数据帧中,然后再访问其列并使用to_csv。示例 -

data[column_names].to_csv("data.csv")

应更改为 -

pd.concat(data)[column_names].to_csv("data.csv")