我正在以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
是一个列表。我尝试按如下方式创建data
:data = pandas.DataFrame()
,但也有错误。
如何解决这个问题?
答案 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")