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 26 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
使用python实现个性化词云的方法
Jun 16 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
python跳出双层for循环的解决方法
Jun 24 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
详解Pycharm安装及Django安装配置指南
Sep 15 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
Python 键盘事件详解
Nov 11 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
PHP 代码规范小结
2012/03/08 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
文明风采获奖感言
2014/02/18 职场文书
青春励志演讲稿
2014/04/29 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android