【python中文json保存与读取】

文章讲述了在Python中处理大量中文数据时,如何正确保存和读取JSON文件。通过将字典列表逐行保存并确保非ASCII字符正确编码,避免了一行存储大量内容导致的读取错误。在保存时,使用`json.dump`配合`write` 进行换行;在读取时,通过逐行读取并用`json.loads`解析内容,成功实现了数据的正确加载。
摘要由CSDN通过智能技术生成

python中文json保存与读取

保存

json一点不懂,但是要用到,所以记录一下。我的任务是需要把一个很大的字典列表保存为json文件,如果直接json.dump保存会把大量的内容存成一行,导致读取时出错。因此需要将列表中的每一项分别保存为一行,一开始我的代码是这样的

// Datas是字典列表
with open(DataPath, 'x', encoding="utf-8-sig") as f:
	for data in Datas:
		json.dump(data, f, ensure_ascii=False)

其中ensure_ascii是中文保存时为了防止编码错误设置成false。为了让列表中每项换行尝试

with open(DataPath, 'x', encoding="utf-8-sig") as f:
	for data in Datas:
		json.dump(data+'\n', f, ensure_ascii=False)

来进行换行,但是’\n’会被直接保存成字符后来采用直接写入的方法完成了,代码如下:

with open(DataPath, 'x', encoding="utf-8-sig") as f:
	for data in Datas:
		json.dump(data+'\n', f, ensure_ascii=False)
		f.write('\n')

读取

由于保存是一行一行保存的所以没有那么长了就不会报错了,读取也就简单了

data = []
with open(path, 'r', encoding='utf-8-sig') as f:
    for line in f.readlines():
        data.append(json.loads(line))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值