转:http://litaotju.github.io/python/2016/06/28/python-json-dump-utf/
在写爬虫时,使用python自带的json模块将网页中需要的信息输出保存到json文件中,发现json文件中的中文 格式全是类似于”\u5176\u5b83”的形式。可见该模块将输出的中文进行了 编码,将utf-8码直接变成了 ascii字符的形式。所以这些字符无法直接阅读。 要直接输出中文需要使用 json.dump()函数的 ensure_ascii=False选项。同时需要采用 codecs模块的open函数,指定输出文件的编码方式。 完整的代码片段如下。
# -*-coding:utf-8 -*-
import json
import codecs
fobj = open("gaokao.json",'r')
universities = json.load(fobj)
json.dump(universities, codecs.open("formarted_gaokao.json", 'w', encoding="utf-8"), indent=4, ensure_ascii=False)
fobj.close()
wfobj.close()
在Python爬虫中,使用json模块保存含中文的网页信息时,会默认将中文转为unicode编码导致无法直接阅读。解决方法是使用json.dump()的ensure_ascii=False参数,并配合codecs模块的open函数指定utf-8编码写入文件,这样可以保持中文原样输出。示例代码展示了具体操作流程。
685

被折叠的 条评论
为什么被折叠?



