我有一個具有這種結構的檔案(它來自一個 json):
lista = [{'document': {'amount': 20,
'name': 'Peter',
'city': 'Madrid'},
'highlights': [],
'text_match': 100},
{'document': {'amount': 15,
'name': 'Angel',
'city': 'Barcelona'},
'highlights': [],
'text_match': 100},
{'document': {'amount': 10,
'name': 'Louis',
'city': 'London'},
'highlights': [],
'text_match': 100}]
我需要遍歷它以獲得這樣的資料框:
amount name city
0 20 Peter Madrid
1 15 Angel Barcelona
2 10 Louis London
我正在嘗試使用以下代碼來做到這一點:
res = []
for p in lista:
res.append(p)
df = pd.DataFrame(res)
但我得到一個包含 3 列的資料框:檔案、突出顯示和 text_match,如下所示:
document highlights text_match
0 {'amount': 20, 'name': 'Peter', 'city': 'Madrid'} [] 100
1 {'amount': 15, 'name': 'Angel', 'city': 'Barce... [] 100
2 {'amount': 10, 'name': 'Louis', 'city': 'London'} [] 100
. 我想解決方案不是很困難,但我在管理串列/字典中的迭代時遇到了問題
uj5u.com熱心網友回復:
只需編輯 for - 回圈以不附加全部內容p,而是p['document']:
res = []
for p in lista:
res.append(p['document'])
df = pd.DataFrame(res)
希望有幫助
uj5u.com熱心網友回復:
嘗試:
df = pd.DataFrame([d["document"] for d in lista])
print(df)
印刷:
amount name city
0 20 Peter Madrid
1 15 Angel Barcelona
2 10 Louis London
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/527176.html
標籤:Pythonjson循环
