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格式的字符串。
在中,可以通过内置模块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)
...
采用来读写json文件,真的可以说是非常简单了,两行代码即可搞定。
·end·
—如果喜欢,快分享给你的朋友们吧—
原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!
本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
加入IP合伙人(站长加盟) | 全面包装你的品牌,搭建一个全自动交付的网赚资源独立站 | 晴天实测8个月运营已稳定月入3W+
限时特惠:本站每日持续更新海量内部创业教程,一年会员只需98元,全站资源免费无限制下载点击查看会员权益
站长微信: qtw123cn
