python 读写中文json的实例详解

yipeiwu_com5年前Python基础

 python 读写中文json的实例详解

读写中文json

想要 读写中文json ,可以使用python中的 json 库可以对json进行操作。读入数据可以使用 json.load。

f = file(path)
data = json.load(f)

json被载入到一个dict类型的object对象中。

使用 json.dump可以输出json。不过输出的文本并不是中文,而是转换为 utf-8的格式。此处需要:

output = json.dump(jsonData,targetFile,ensure_ascii=False,indent=4)

输出中文的json。通过使用 ensure_ascii=False,输出原有的语言文字。indent参数是缩进数量。

更改写文件格式

将上一步导出的 string 直接写文件会报错(可能只在Python2.7中出现):

UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-9: ordinal not in range(128) 

这是由于此处输出的一些ascii编码不支持,所以报错。

解决的办法是,在输出的时候,对文件制定特定的UTF-8编码:

import codecs
 
with codecs.open(path,'w','utf-8') as w:
  #write to w 
 

使用这种方式可以成功输出到文件。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

pyhanlp安装介绍和简单应用

pyhanlp安装介绍和简单应用

1. 前言 中文分词≠自然语言处理! Hanlp HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清...

Python 正则表达式操作指南

原文作者:A.M. Kuchling (amk@amk.ca) 授权许可:创作共享协议 翻译人员:FireHare 校对人员:Leal 适用版本:Python 1.5 及后续版本http...

python网络编程之TCP通信实例和socketserver框架使用例子

python网络编程之TCP通信实例和socketserver框架使用例子

1.TCP是一种面向连接的可靠地协议,在一方发送数据之前,必须在双方之间建立一个连接,建立的过程需要经过三次握手,通信完成后要拆除连接,需要经过四次握手,这是由TCP的半关闭造成的,一方...

Python 变量类型详解

Python 变量类型详解

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些...

对pytorch中的梯度更新方法详解

背景 使用pytorch时,有一个yolov3的bug,我认为涉及到学习率的调整。收集到tencent yolov3和mxnet开源的yolov3,两个优化器中的学习率设置不一样,而且使...