python解析json元素,并导出到excel文件

python解析json元素,并导出到excel文件

例子一:

import json
import jsonpath
import xlwt
import pandas as pd


# 将json转换为字典list元素
def catch_value(file_name):
    f = open(file_name, encoding='utf-8')
    setting = json.load(f)     # 把json文件转化为python用的类型
    d = jsonpath.jsonpath(setting,'$..id')
    s = jsonpath.jsonpath(setting, '$..label')
    list1 = []
    print(list1)
    # i是下标,就是元素
    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 = []

# 将json转换为字典list元素
def catch_value(file_name):
    f = open(file_name, encoding='utf-8')
    setting = json.load(f)     # 把json文件转化为python用的类型
    dict_cond = setting['data']['treeData'][0]
    # findValueJson("children",dict_cond, '')
    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)
        # str+='/'
        for i,j in enumerate(childre):
            findValueJson("children",childre[i],str)
    else:
        print("没有")

    list1 = []
    print(list1)
    # i是下标,就是元素
    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)

你可能感兴趣的:(python)