很多时候我们在数据分析时所获取的内容往往都是嵌套的json或者字典等负责格式,下面是通过递归的形式遍历出全部的内容,然后重新赋值key。
import pandas as pd
def json_dic(i, key1, my_dic):
for key in i:
if type(i[key]) == dict:
key1 = key
json_dic(i[key], key1, my_dic)
if type(i[key]) == list:
for m in i[key]:
json_dic(m, key1, my_dic)
else:
print(key1 + '_' + key, i[key])
my_dic[key1 + '_' + key] = i[key]
return my_dic
data = [{'name':'tom','namelist':{'name1':'tom1','name2':'tom2'}},{'name':'jim','namelist':{'name1':'jim1','name2':'jim2'}}]
key1 = ''
my_list = []
for i in data:
my_dic = json_dic(i, key1, {})
my_list.append(my_dic)
df = pd.DataFrame(my_list, columns=my_dic.keys())
df.to_excel("D:\\桌面/ding.xlsx")