Python实现的读写json文件功能示例


Posted in Python onJune 05, 2018

本文实例讲述了Python实现的读写json文件功能。分享给大家供大家参考,具体如下:

相比java,python对json文件的处理就简单很多。java操作json文件的话需要引用jar包及相关依赖包,想用java操作json的同学可以去百度,这里就不赘述了。

首先说读json文件

在进行json操作之前,首先要了解json的格式,分辨json文件。

json文件格式一般有两种:

第一种:每行一个json类似于以下这种形式:

["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]]
["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]

这种json格式是每一行是一个json,行与行之间没有关联。

第二种:一个文件写成一个大的json

[
{"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]},
{"name":"Lisa","age":"20","hobbies" : ["sing","dance"]}
]

这种格式每条记录之间用,连接。

下面读取json文件,利用json.load函数

f = open('/home/codergray/company/test_2.json')
#将json格式的数据映射成list的形式
t = json.load(f)

所以t是一个list,按照正常访问list的方法访问就可以。

str = t[0]['name']
print str

输出:

Tony

以上面的例子为例,访问t[0]也就是第一条json记录[‘name']代表name字段,因而就读出了值“Tony”

写json文件

写json一般是上文提到的json格式的第二种格式,也就是整体是一个大的json。

举个例子:

f = open('result.json','w')
result = []
temp = {}
temp['name'] = 'Tony'
temp['age'] = '21'
tamp['hobbies'] = ['basketball','tennis']
result.append(temp)
f.write(json.dumps(result,ensure_ascii=False))

通过以上代码就将一个json写进了result.json文件,当然这个大json里面只有一条记录,如果想插入多条记录可以利用循环。json.dumps方法可以看作是json.load的逆过程,将list的数据格式转化为json存在json文件中。

Python 相关文章推荐
python搭建简易服务器分析与实现
Dec 15 Python
Python字符串匹配算法KMP实例
Jul 18 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
Python中常用信号signal类型实例
Jan 25 Python
对TensorFlow中的variables_to_restore函数详解
Jul 30 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
Oct 15 Python
python numpy中cumsum的用法详解
Oct 17 Python
Django中使用MySQL5.5的教程
Dec 18 Python
Python运行DLL文件的方法
Jan 17 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
python计算日期之间的放假日期
Jun 05 #Python
python检索特定内容的文本文件实例
Jun 05 #Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 #Python
python 读取txt,json和hdf5文件的实例
Jun 05 #Python
利用Python如何将数据写到CSV文件中
Jun 05 #Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 #Python
对pandas中to_dict的用法详解
Jun 05 #Python
You might like
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
PHP伪静态写法附代码
2008/06/20 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
新浪的图片新闻效果
2007/01/13 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
python字符串连接方式汇总
2014/08/21 Python
python sort、sorted高级排序技巧
2014/11/21 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
python 生成器协程运算实例
2017/09/04 Python
Python模块搜索路径代码详解
2018/01/29 Python
python散点图实例之随机漫步
2018/08/27 Python
Python操作json的方法实例分析
2018/12/06 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
中学家长会邀请函
2014/02/03 职场文书
2014年纪检工作总结
2014/11/12 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
安全责任协议书范本
2016/03/23 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python