使用 python 读写中文json

读写中文json

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

1

2

3

f = file(path)

data = json.load(f)

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

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

1

2

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编码:

1

2

3

4

5

import codecs

with codecs.open(path,‘w‘,‘utf-8‘) as w:

#write to w

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

本文出自: blog.csdn.net/fansongy / [ 松阳的博客 ] 禁止用于商业用途 转载请注明出处
原文链接: http://www.songyang.net/python-json/

时间: 2024-12-02 07:56:36

使用 python 读写中文json的相关文章

Python下调用json.dumps中文显示问题解决办法

json.dumps在默认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符,例如: import json js = json.loads('{"haha": "哈哈"}') print json.dumps(js) 得到的结果是{"haha": "\u54c8\u54c8"}, 中文字符打印出来的是utf-8转码...这个时候查血了docs.python.org,还有个参数ensure_ascii 调用了j

python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串) json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数

python读写csv时中文乱码问题解决办法

参考1 参考2 CSV是英文Comma Separate Values(逗号分隔值)的缩写,顾名思义,文档的内容是由 "," 分隔的一列列的数据构成的,可以使用excel和文本编辑器等打开.CSV文档是一种编辑方便,可视化效果极佳的数据存储方式 1.python读写.追加csv方法: 'r':只读(缺省.如果文件不存在,则抛出错误) 'w':只写(如果文件不存在,则自动创建文件) 'a':附加到文件末尾(如果文件不存在,则自动创建文件) 'r+':读写(如果文件不存在,则抛出错误) 1

python 读写json数据

json 模块提供了一种很简单的方式来编码和解码JSON 数据.其中两个主要的函数是json.dumps() 和json.loads() ,要比其他序列化函数库如pickle 的接口少得多.下面演示 1.如何将一个Python 数据结构转换为JSON 2.如何将一个JSON 编码的字符串转换回一个Python 数据结构 import json data={ 'name':'AWQA', 'shares':100, 'price':542.33 } json_str=json.dumps(data

Python序列化之json与pickle

1.json介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等

python序列化模块json和pickle

序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转化为json格式的数据,便于跨平台或跨语言进行数据交互 功能: Json模块提供了四个功能:dumps.dump.loads.load Python 编码为 JSON 类型转换对应表: Python JSON dict object list, tuple array str string int,

python输出中文——如何在Windows控制台打印不乱码

文章介绍 用Python在控制台打印中文如何不会乱码,一直是困扰很多Pythoner的问题,甚至很多Python老手也经常犯难.原因就在于从一般网页.数据库或文本外来数据源上抓取过来的内容,需要经过正确的编解码才可以正常输出,而Python的编解码机制比较复杂,没有深入思考的话经常遇到调试错误.这篇文章介绍了最常见的几种输出中文的情况,编译平台为Windows控制台,Python版本为2.7.9 文章中一些内容参考了点击打开链接 感谢原作者分享. 预备知识 str和unicode 首先需要弄清楚

python中的json的基本使用方法

在python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口, #!/usr/bin/env python #-*- coding:utf-8 -*- import json print json.load(open('kel.txt')) #deserialize string or unicode to python object j = json.loads(open('kel.txt

【转载】Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.