【发布时间】:2022-01-20 01:23:05
【问题描述】:
我的默认字典有一个地址键,并且有一个与该键匹配的字典列表。我想将此默认字典导出到 csv 文件。
见下文:
Right now my structure looks like this defaultdict(list)
#As you can see 1 key with multiple matching dictionaries.
#And im just copying 1 address but I have ~10 w/ varying matches
defaultdic1 =
defaultdict(list,
{'Address_1': [{'Name': 'name',
'Address_match': 'address_match_1',
'ID': 'id',
'Type': 'abc'},
{'Name': 'name',
'Address_match': 'address_match_2',
'ID': 'id',
'Type': 'abc'},
{'Name': 'name',
'Address_match': 'address_match_3',
'ID': 'id',
'Type': 'abc'}]})
我试过这样做:
json_data = json.dumps(data_json, indent=2)
jsondf = pd.read_json(json_data, typ = 'series')
and my result was this:
Address 1 [{'Name':'name', 'Address_match':'address_match_1' 'ID' : 'id', 'Type':'abc'} {'Name':'name', 'Address_match':'address_match_2' 'ID' : 'id', 'Type':'abc'}, {'Name':'name', 'Address_match':'address_match_3' 'ID' : 'id', 'Type':'abc'}]
结果/输出:
我想把它导出到一个 excel 文件中
更新我试过了。第一行正在打印密钥,但第二行仍在 {} 中,最好将它们从括号中取出并移到列中。有什么提示吗?
for k, v in defaultdict.items():
f.writerow([k])
for values in v:
f.writerow([values])
results in CSV are:
Address 1
{'Name':'name', 'Address_match':'address_match_1' 'ID' : 'id', 'Type':'abc'}
{'Name':'name', 'Address_match':'address_match_1' 'ID' : 'id', 'Type':'abc'}
{'Name':'name', 'Address_match':'address_match_2' 'ID' : 'id', 'Type':'abc'}
我希望我的结果是:
Address 1 Name, Address_match1, ID, Type
Name, Address_match2, ID, Type
Name, Address_match3, ID, Type
Address 2 Name1, Address_match1, ID, Type
Name1, Address_match1, ID, Type
Address 3 Name1, Address_match1, ID, Type
Name1, Address_match1, ID, Type
【问题讨论】:
-
您的第一个代码 sn-p 无法运行...
-
很抱歉,您的问题是什么?
-
我并不是要粗鲁,但您确实需要精确地指定您的输入和您想要的输出精确地
-
也许您应该使用
for-loop 分别处理列表中的每个元素并将每个元素放在新行中。这不需要JSON -
我在考虑
for key, val in jsondefaultdic1.items(): for item in val: print(key, item),jsondefaultdic2也是如此
标签: python json pandas parsing