用循环将字典插入数据框

时间:2019-02-16 00:22:35

标签: python pandas

通过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循环,还是有一些我看不到的明显解决方案?

1 个答案:

答案 0 :(得分:2)

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

在代码顶部编写:

all_data = []

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

all_data.append(d)

最后(循环完成后)

df = pd.DataFrame(all_data)