python解析json元素,并导出到excel文件
例子一:
import json
import jsonpath
import xlwt
import pandas as pd
def catch_value(file_name):
f = open(file_name, encoding='utf-8')
setting = json.load(f)
d = jsonpath.jsonpath(setting,'$..id')
s = jsonpath.jsonpath(setting, '$..label')
list1 = []
print(list1)
for i,j in enumerate(d):
value = s[i] + '_' + d[i]
list1.append(value)
print(list1)
return list1
def export_excel(export):
pf = pd.DataFrame(list(export))
pf.to_excel('C:/Users/Administrator/Desktop/jncx.xls',encoding = 'utf-8',index = False)
test1 = catch_value("C:/Users/Administrator/Desktop/jncx.json")
export_excel(test1)
例子二
import json
import jsonpath
import xlwt
import pandas as pd
listName = []
listValue = []
def catch_value(file_name):
f = open(file_name, encoding='utf-8')
setting = json.load(f)
dict_cond = setting['data']['treeData'][0]
str = ''
str2 =''
if("children" in dict_cond):
str2 += dict_cond['label']
value = dict_cond['id']
childre = dict_cond["children"]
listName.append(str2)
listValue.append(value)
for i,j in enumerate(childre):
findValueJson("children",childre[i],str)
else:
print("没有")
list1 = []
print(list1)
for i,j in enumerate(listName):
value3 = listName[i] + '_' + listValue[i]
list1.append(value3)
print(list1)
return list1
def findValueJson(label, jsonData, str):
if(label in jsonData):
str += jsonData['label']
value = jsonData['id']
childre = jsonData[label]
listName.append(str)
listValue.append(value)
str+='/'
for i,j in enumerate(childre):
findValueJson(label,childre[i],str)
else:
print("没有")
def export_excel(export):
pf = pd.DataFrame(list(export))
pf.to_excel('C:/Users/Administrator/Desktop/name1111.xls',encoding = 'utf-8',index = False)
test1 = catch_value("C:/Users/Administrator/Desktop/tfes.json")
export_excel(test1)