.jsonl,jsonlines比json格式更好用的文件格式

jsonlines文件介绍

之前一直用的都是键值对的json文件格式,觉得很好用;其实格式化之后的还可以,比较直观;但是很多时候我们看到的json文件都是一整行文本看的很不舒服。
如下(这还是根据屏幕换行之后的效果):
在这里插入图片描述
因此,就有想法说换成一行一个文本,也就是jsonlines做的事情,其实就是把json每一个小的单元(不知道怎么称谓这东东),引用官网的一个例子

{
{
  "name": "Gilbert", 
  "wins": [
    [
      "straight", 
      "7"
    ], 
    [
      "one pair", 
      "10"
    ]
  ]
}
{
  "name": "Alexa", 
  "wins": [
    [
      "two pair", 
      "4"
    ], 
    [
      "two pair", 
      "9"
    ]
  ]
}
}

json文件转为jsonlines

import jsonlines
import json

with jsonlines.open(write_path, "w") as wfd:
    with open(read_path, "r", encoding='utf-8') as rfd:
        for data in rfd:
            data = json.loads(data)#注意,这里json文件格式不同,写法也不同,具体看文件,,注意区别json.load()与json.loads()
            wfd.write(data)

jsonlines转为json文件(原因是jsonlines虽然好用,但并未通用,很多配置文件等都用的json格式)

import jsonlines
import json

with jsonlines.open(read_path, "r") as rfd:
    with open(write_path, "w", encoding='utf-8') as wfd:
        for data in rfd:
            json.dump(data, wfd, indent=4, ensure_ascii=False)

可以看一下重新生成的json文件:
在这里插入图片描述

其他相关问题

查看官网说明:http://jsonlines.org/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值