使用循环将dict插入数据帧

2024-04-19 20:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

正在使用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循环放在某个地方,还是有一些我看不到的明显的解决方案?你知道吗


Tags: nameapiidjsonurldffordata
1条回答
网友
1楼 · 发布于 2024-04-19 20:24:48

将所有数据放入字典列表中,然后在最后转换为数据帧

在代码的顶部写下:

all_data = []

然后在循环中,在d={…}之后,写

all_data.append(d)

最后(循环结束后)

df = pd.DataFrame(all_data)

相关问题 更多 >