社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python读写json文件

生信修炼手册 • 3 年前 • 388 次点击  
欢迎关注”生信修炼手册”!
json是互联网文本传输的标准格式之一,本质是字典和列表的组合, 内容示意如下
{    "summary": {        "before_filtering": {            "total_reads":48153902,            "total_bases":7223085300,            "q20_bases":7065592756,            "q30_bases":6780360345,            "q20_rate":0.978196,            "q30_rate":0.938707,            "read1_mean_length":150,            "read2_mean_length":150,            "gc_content":0.466978        },        "after_filtering": {            "total_reads":47888586,            "total_bases":7160081698,            "q20_bases":7020377651,            "q30_bases":6741810096,            "q20_rate":0.980488,            "q30_rate":0.941583,            "read1_mean_length":149,            "read2_mean_length":149,            "gc_content":0.46685        }    } }

上述文件截取自fastp软件产生的json输出结果,最外围是一个字典,而字典的值既可以是基本的数据类型,比如数值,字符串,又可以是列表,字典等数据结构,相互嵌套,就构成了整个json文件。

对于json文件的读写,也称之为json的编码和解码。所谓解码,就是将文字格式的json转换为编程语言中的对象,编码则相反,将编程语言中的对象转换为json格式的字符串。

在python3中,可以通过内置模块json来读写json格式的文件,解码对应load函数,编码对应dump函数,用法如下

1. 读取json文件
>>> with open('fastp.json') as f:...     a = json.load(f)...>>>>>>>>> type(a)<class 'dict'>

解码之后,用字典来存储json的内容,要访问其中的值,采用字典的key来访问即可,用法如下

>>> a['summary']['before_filtering']['read1_mean_length']150
2. 写入json文件
>>> with open('out.json', 'w') as f:...     json.dump(a, f)...
采用python来读写json文件,真的可以说是非常简单了,两行代码即可搞定。

·end·

—如果喜欢,快分享给你的朋友们吧—



原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
  更多精彩



  写在最后


转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。


扫描下方二维码,关注我们,解锁更多精彩内容!


一个只分享干货的

生信公众号



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62927
 
388 次点击