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中sys.argv参数用法实例分析
May 20 Python
Python 专题三 字符串的基础知识
Mar 19 Python
python实现二叉查找树实例代码
Feb 08 Python
OpenCV图像颜色反转算法详解
May 13 Python
Python面向对象之类和实例用法分析
Jun 08 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
python实现月食效果实例代码
Jun 18 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
Python实现封装打包自己写的代码,被python import
Jul 12 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP字符串的连接的简单实例
2013/12/30 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
使用django实现一个代码发布系统
2019/07/18 Python
python numpy存取文件的方式
2020/04/01 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
大学生旷课检讨书
2014/01/22 职场文书
关于赌博的检讨书
2014/01/24 职场文书
售房协议书范本2014
2014/10/23 职场文书
自我推荐信怎么写
2015/03/24 职场文书
收入证明申请书
2015/06/12 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
图文详解Nginx版本平滑升级方案
2021/09/15 Servers