Python处理JSON时的值报错及编码报错的两则解决实录


Posted in Python onJune 26, 2016

1、ValueError: Invalid control character at: line 1 column 8363 (char 8362)
使用json.loads(json_data)时,出现:

ValueError: Invalid control character at: line 1 column 8363 (char 8362)

出现错误的原因是字符串中包含了回车符(\r)或者换行符(\n)
解决方法:
(1)对这些字符转义:

json_data = json_data.replace('\r', '\\r').replace('\n', '\\n')

(2)使用关键字strict:

json.loads(json_data, strict=False)

strict默认是True,它将严格控制内部字符串,将其设置为False,便可以允许你\n \r。

2、UnicodeEncodeError: ascii codec can't encode错误
在windows下写的python脚本,放到linux下运行,直接报:

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

出错原因是Python2.7在安装时,默认的编码是ascii,当程序中出现非ascii编码时,Python的处理常常会报这样的错,不过在Python3中就不会有这样的问题。
解决方法:
(1)临时解决方法:
在代码前加入:
import sys 
reload(sys) 
sys.setdefaultencoding('utf8')

(2)一劳永逸:
在Python的lib\site-packages文件夹下新建一个sitecustomize.py,内容如下:

# encoding=utf8 
import sys 

reload(sys) 
sys.setdefaultencoding('utf8')

这样的话,系统在Python启动的时候,自行调用该文件,设置系统的默认编码。

Python 相关文章推荐
python实现汉诺塔递归算法经典案例
Mar 01 Python
python生成式的send()方法(详解)
May 08 Python
python3操作微信itchat实现发送图片
Feb 24 Python
windows下python安装pip图文教程
May 25 Python
python保存文件方法小结
Jul 27 Python
python-opencv颜色提取分割方法
Dec 08 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
Python学习笔记之变量、自定义函数用法示例
May 28 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
python中pop()函数的语法与实例
Dec 01 Python
Python使用自带的ConfigParser模块读写ini配置文件
Jun 26 #Python
Python读写txt文本文件的操作方法全解析
Jun 26 #Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 #Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 #Python
理解生产者消费者模型及在Python编程中的运用实例
Jun 26 #Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 #Python
Python的装饰器用法学习笔记
Jun 24 #Python
You might like
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
PHP session 会话处理函数
2016/06/06 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
Python中字符串对齐方法介绍
2015/05/21 Python
python Django批量导入不重复数据
2016/03/25 Python
EM算法的python实现的方法步骤
2018/01/02 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
python实现斗地主分牌洗牌
2020/06/22 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
酒店门卫岗位职责
2013/12/29 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
商业用房租赁协议书
2014/10/13 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
班主任工作总结范文
2015/08/13 职场文书
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL