[英]nested dicts(how to print all keys and columns)
下面是一個字典/JSON,我想將不同列中的每個鍵和值分開,並將其放入excel。
expected Output:
Keys Values
h e
f r
t ['w', 'x']
P ['d', 'c']
l
q
我試過
import json
x = {
"a": [
{ "h":"e" }, { "f": "r" }, { "t": "[ w, x ]" } ],
"b": [
{"P": "[ d, c ]" }, {"l": "q" } ]
}
print(json.dumps(x))
for k, v in x.items():
for k1, v1 in v.items():
print(k1)
import json
x = {
"a": [
{ "h":"e" }, { "f": "r" }, { "t": "[ w, x ]" } ],
"b": [
{"P": "[ d, c ]" }, {"l": "q" } ]
}
print(json.dumps(x))
for k, v in x.items():
for v1 in v:
print(v1.values())
我相信這是你想要的,你在第一個字典中的值里面有列表,所以你需要遍歷它們然后獲取值
在您的示例中稍作修改:
for k, v in x.items():
for item in v:
for k1, v1 in item.items():
print(f'{k1} {v1}')
從所需的鍵和值創建一個字典,然后您可以使用 Pandas DataFrame 從字典創建數據框
數據框是一種二維數據結構,即數據在行和列中以表格方式對齊。 Pandas DataFrame 由三個主要組件組成,數據、行和列。
import pandas as pd
x = {
"a": [
{ "h":"e" }, { "f": "r" }, { "t": "[ w, x ]" } ],
"b": [
{"P": "[ d, c ]" }, {"l": "q" } ]
}
data = {}
for v in x.values():
for item in v:
data.update(item)
df =(pd.DataFrame(list(data.items()), columns=['Key', 'Value']))
print (df.to_string(index = False))
輸出:
Key Value
h e
f r
t [ w, x ]
P [ d, c ]
l q
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.