python 目前鄙人参悟比较清晰的递归遍历json/dict 可任意解析json的格式

import xlwt
import os
import json
import jsonpath



def analyze_data(data, result):
    if isinstance(data, dict):
        for k, v in data.items():
            analyze_data(v, result + ".%s" % str(k))
    elif isinstance(data, (list, tuple)):
        for i in range(len(data)):
            analyze_data(data[i], result + "[%s]" % i)
    else:
        #print(result)
        #print(str(data))
        print(result + "=" + str(data))

#s = "C:/Python27/1/3.py"
#pos = s.rfind("/")
#s[:pos] # "C:/Python27/1"



def get_itemboy1(filepath):
	tmp = []
	file = open(filepath, 'r', encoding='utf-8')
	testread = file.readlines()
	first_line = testread[0]  # 取第一行
	# print(first_line)
	if first_line.startswith(u'\ufeff'):
		mydata = first_line.encode('utf8')[3:].decode('utf8')
	file.close()
	# 将一个python对象编码成json字符串/编码
	testdata = json.dumps(mydata, indent=4, ensure_ascii=False)
	# 将JSON格式的字符串解码成python对象/解码
	testjson = json.loads(testdata)
	print(testjson)
	print(type(testjson))
	bb = json.loads(testjson)
	print(bb['args'])
	print(type(bb))
	print('将jsons1解析后的结果如下:')
	analyze_data(bb, result="myfile")

	return tmp









if __name__ == "__main__":
    #get_itemboy('C:\\Users\\Administrator\\Desktop\\testgo\\testgo0.txt')
    get_itemboy1('C:\\Users\\31216\\Desktop\\testgo0.txt')
	#C:\Users\31216\Desktop\
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值