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中for循环详解
Jan 17 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
python 网络编程常用代码段
Aug 28 Python
python实现给微信指定好友定时发送消息
Apr 29 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
python中eval与int的区别浅析
Aug 11 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Python读取YAML文件过程详解
Dec 30 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
基于python爬取梨视频实现过程解析
Nov 09 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
escape unescape的php下的实现方法
2007/04/27 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
jquery实现直播弹幕效果
2019/11/28 jQuery
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
final, finally, finalize的区别
2012/03/01 面试题
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
中英文求职信范文
2014/01/27 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
捐款感谢信
2015/01/20 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
刑事上诉状范文
2015/05/22 职场文书
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL