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 zip文件 压缩
Dec 24 Python
用Python实现一个简单的线程池
Apr 07 Python
Python读取键盘输入的2种方法
Jun 16 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
python散点图实例之随机漫步
Aug 27 Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
对python判断ip是否可达的实例详解
Jan 31 Python
用python做游戏的细节详解
Jun 25 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 正则表达式操作指南
2009/05/04 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
门卫人员岗位职责
2013/12/24 职场文书
旷课检讨书大全
2014/01/21 职场文书
国家助学金获奖感言
2014/01/31 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
接收函格式
2015/01/30 职场文书
离婚被告答辩状
2015/05/22 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书