通过for循环从API获取数据,但仅显示最后一行。如果我放置print
而不是d=
语句,由于某种原因,我会得到所有记录。如何用所有值填充Dataframe
?
我尝试了for循环和append操作,但始终得到错误的结果
for x in elements:
url = "https://my/api/v2/item/" + str(x[number"]) + "/"
get_data = requests.get(url)
get_data_json = get_data.json()
d = {'id': [x["enumber"]],
'name': [x["value1"]["name"]],
'adress': [value2["adress"]],
'stats': [get_data_json["stats"][5]["rating"]]
}
df = pd.DataFrame(data=d)
df.head()
结果:
id name order adress rating
仅显示最后一行,可能是因为它被覆盖直到最后一个元素。我应该在某个地方放置另一个for循环,还是有一些我看不到的明显解决方案?
答案 0 :(得分:2)
将所有数据放入字典列表中,然后在最后转换为数据框
在代码顶部编写:
all_data = []
然后在循环中,在d = {......之后,写
all_data.append(d)
最后(循环完成后)
df = pd.DataFrame(all_data)