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给文本创立向量空间模型的教程
Apr 23 Python
python各种语言间时间的转化实现代码
Mar 23 Python
浅谈Python中带_的变量或函数命名
Dec 04 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
pycharm配置git(图文教程)
Aug 16 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
python 中关于pycharm选择运行环境的问题
Oct 31 Python
Django利用AJAX技术实现博文实时搜索
May 06 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
详解Python中expandtabs()方法的使用
2015/05/18 Python
举例区分Python中的浅复制与深复制
2015/07/02 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python 忽略文件名编码的方法
2020/08/01 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
类成员函数的重载、覆盖和隐藏区别
2016/01/27 面试题
介绍一下游标
2012/01/10 面试题
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
妈妈活动方案
2014/08/15 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
售后服务承诺函格式
2015/01/21 职场文书
颐和园的导游词
2015/01/30 职场文书
技术转让协议书
2016/03/19 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python