Python保存json文件,英文内容出现乱码

处理json文件乱码问题


前言

在爬取网页内容是,有的时候会爬取到带有特殊符号的英文名字,如”J. Valančiūnas“,但是在保存json文件的时候,会出现乱码的情况。

下图是我保存的json文件,文件内容出现的乱码

在这里插入图片描述

而我爬取的网页中的人名是:“J. Valančiūnas”

在这里插入图片描述

接下来解决这个问题!!!

方法

首先尝试写一段代码,模拟以上问题

import json
file = open('test_data.json', mode='w')
d = {}
d['hometeam_name'] = 'yongshi'
d['awayteam_name'] = 'kaierteren'
d['player'] = 'J. Valančiūnas'
d['events'] = []
c = {'a' : 'b'}
f = {'haha':'heihei'}
d['events'].append(c)
d['events'].append(f)
print(d)
json_str = json.dumps(d)
print(json_str)
file.write(json_str)
file.close()
print("json文件写入完成")

输出如下:

{'hometeam_name': 'yongshi', 'awayteam_name': 'kaierteren', 'player': 'J. Valančiūnas', 'events': [{'a': 'b'}, {'haha': 'heihei'}]}
{"hometeam_name": "yongshi", "awayteam_name": "kaierteren", "player": "J. Valan\u010di\u016bnas", "events": [{"a": "b"}, {"haha": "heihei"}]}
json文件写入完成

果然,文件中的也是乱码:

在这里插入图片描述
修改代码:

import json
file = open('test_data.json', mode='w', encoding='utf-8')
d = {}
d['hometeam_name'] = 'yongshi'
d['awayteam_name'] = 'kaierteren'
d['player'] = 'J. Valančiūnas'
d['events'] = []
c = {'a' : 'b'}
f = {'haha':'heihei'}
d['events'].append(c)
d['events'].append(f)
print(d)
json_str = json.dumps(d, ensure_ascii=False)
print(json_str)
file.write(json_str)
file.close()
print("json文件写入完成")

输出如下:

{'hometeam_name': 'yongshi', 'awayteam_name': 'kaierteren', 'player': 'J. Valančiūnas', 'events': [{'a': 'b'}, {'haha': 'heihei'}]}
{"hometeam_name": "yongshi", "awayteam_name": "kaierteren", "player": "J. Valančiūnas", "events": [{"a": "b"}, {"haha": "heihei"}]}
json文件写入完成

文件中的内容:

在这里插入图片描述
问题解决!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值