python解析json文件方法
- 更新时间:2021-07-26 09:48:55
- 编辑:阚翔宇
参考资料
- 从Excel到Python:数据分析进阶指南 PDF 电子书 / 9.69 MB / 王彦平(蓝鲸) 推荐度:
- 《Python青少年编程魔法课堂(案例+视频教学版)》配书资源 配套资源 / 6.7 MB / 蒋子阳 推荐度:
- python实现多文本文档编辑器 / 29 KB / 码小辫 推荐度:
- 《Python自然语言处理》配套彩图 配套资源 / 2.61 MB / 伯德 (Steven Bird) 推荐度:
- Python源码剖析 PDF 电子书 / 29.1 MB / 陈儒 推荐度:
正文内容
为学习python的程序员分享一篇技术文章,感觉写的不错,把代码经过测试发布到这里,希望对网友有用。
我们在获取一份第三方的数据后,需要进行数据的分析,但发现它是json的文件形式并不能直接使用。这就需要用到解析的方法,我们在python中就可以完成这样操作。下面就json说进行简单说明,然后理清解析json文件 的思路,最后把相关的解析代码分享给大家,一起往下看具体内容。
1.json说明
json就是一种长得像嵌套字典的字符串。数据被“{}”和“[]”层层包裹,需要“拆包”才能拿到我们需要的数据。
两种结构:
(1)“名称/值”对的集合(A collection of name/value pairs)。不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
(2)值的有序列表(An ordered list of values)。在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。
2.解析思路
(1)新建两个函数A和B。
(2)函数 A处理字典数据,被调用后,判断传递的参数,如果参数为字典,则调用自身;
(3)如果是列表或者元组,则调用列表处理函数B;
(4)函数 B处理列表,被调用后,判断传递的参数,如果参数为列表或者元组,则调用自身;
(5)如果是字典,则调用字典处理函数A。
3.实例
代码中的get_target_value函数为A函数,_get_value为B函数。
# 处理嵌套json文件中指定关键字 # 处理字典值 def get_target_value(key, dic, tmp_list): """ :param key: 目标key值 :param dic: JSON数据 :param tmp_list: 用于存储获取的数据 :return: list """ if not isinstance(dic, dict) or not isinstance(tmp_list, list): # 对传入数据进行格式校验 return 'argv[1] not an dict or argv[-1] not an list ' if key in dic.keys(): tmp_list.append(dic[key]) # 传入数据存在则存入tmp_list for value in dic.values(): # 传入数据不符合则对其value值进行遍历 if isinstance(value, dict): get_target_value(key, value, tmp_list) # 传入数据的value值是字典,则直接调用自身 elif isinstance(value, (list, tuple)): _get_value(key, value, tmp_list) # 传入数据的value值是列表或者元组,则调用_get_value return tmp_list # 处理元组或列表值 def _get_value(key, val, tmp_list): for val_ in val: if isinstance(val_, dict): get_target_value(key, val_, tmp_list) # 传入数据的value值是字典,则调用get_target_value elif isinstance(val_, (list, tuple)): _get_value(key, val_, tmp_list)
以上就是python解析json文件的方法,大家可以先对解析的流程进行理解,在弄清楚基本的步骤后,就可以展开上面的解析json操作啦。
相关教程
-
python try except返回异常的信息字符串代码实例
这篇文章主要介绍了python try except返回异常的信息字符串代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
发布时间:2019-09-08
-
python编程有哪些ide
python支持多种ide,且Python本身自带一款ide,推荐使用PyCharm,Sublime Text,Eclipse with PyDev,Vim。
发布时间:2019-06-27