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)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值