【pd读取csv文件踩坑】读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0
写在前面:
由于CSDN的审查机制的原因,更多博客内容请访问我的个人博客或GitHub:
- 个人博客地址:个人博客
- GitHub地址:GitHub
你是否有过之前用pd.read打开csv文件都正常,但突然有一天运行以前的代码就突然报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb5 in position 0: invalid start byte,然后再谷歌中搜索答案发现普遍的解决方案就是修改编码方式:类似于encoding="gbk"这类的,然后运行后仍然报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 8: illegal multibyte sequence,如果你遇到的是这种情况请读下去
错误说明:这里通过这两次报错很明显发现就是文件的编码方式不对,换句话说就是utf-8(默认pd打开csv的方式)或者gbk这两种编码方式都打不开csv文件,所以解决的办法非常简单,就是修改csv文件的编码方式为uft-8或者gbk,这里用修改为utf-8为例
不指定编码方式,用默认编码方式读取csv文件
path = "./tmp_domestic/"
files = os.listdir(path)
usa_date2 = []
usa_new2 = []
for i in files:usa_data = pd.read_csv("./tmp_domestic/{}".format(i), index_col=0) # 默认用utf-8编码方式打开date = i[-9:-4]usa_new_tmp = usa_data.loc["香港"]["现有确诊"]usa_new2.append(int(usa_new_tmp))usa_date2.append(date)
报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb5 in position 0: invalid start byte,意思就是utf-8编码方式不能解码你要读取的文件
修改编码方式为gbk进行调试
path = "./tmp_domestic/"
files = os.listdir(path)
usa_date = []
usa_new = []
for i in files:usa_data = pd.read_csv("./tmp_domestic/{}".format(i), index_col=0,encoding="gbk") # 修改编码方式为gbk进行调试date = i[-9:-4]usa_new_tmp = usa_data.loc["江苏"]["现有确诊"]usa_new2.append(int(usa_new_tmp))usa_date2.append(date)
报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 8: illegal multibyte sequence,意思是gbk也无法解码改文件
解决方案:找到你要读取的文件,然后用记事本打开,然后点击另存为,出现如下界面
你会发现你要读取的文件既不是utf-8也不是gbk,而是另外一种编码方式,这也就是你为什么读取不了的原因,所以你需要把编码方式改为utf-8然后覆盖原文件保存,然后运行之前的代码即可正常运行
path = "./tmp_domestic/"
files = os.listdir(path)
usa_date = []
usa_new = []
for i in files:usa_data = pd.read_csv("./tmp_domestic/{}".format(i), index_col=0)date = i[-9:-4]usa_new_tmp = usa_data.loc["香港"]["现有确诊"]usa_new.append(int(usa_new_tmp))usa_date.append(date)
说到文件编码方式被改变的原因,最大的可能就是你通过excell文件打开了csv文件,然后修改了里面的内容导致编码方式改变,在你修改并要保存的时候回出现这样的提示,就是在告诉你文件的相关内容被修改了,所以以后如果要修改csv文件的内容不要直接在excell中修改保存要用记事本打开并保存,否则就会出现编码方式改变导致无法读取的情况
【pd读取csv文件踩坑】读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0相关推荐
- python 读取文件报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0: invalid start
python 读取文件报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start ...
- python 读取数据出现UnicodeDecodeError:: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid contin
之前写程序时也出现过类似错误,每次解决了到第二次遇见又忘了具体方法,这次记录一下. 一.字符编码问题 先介绍一下字符编码问题 1.ASCLL与GB2312 由于计算机是美国人发明的,因此,最早只有12 ...
- python 读取数据出现UnicodeDecodeError:: ‘utf-8‘ codec can‘t decode byte 0xc8 in position 0: invalid contin
解决方法: 读取时也可以用二进制模式打开的文件(包括模式参数中的'rb')将内容作为字节对象,而不进行任何解码. 然后使用line.decode('utf-8',errors = 'ignore')解 ...
- Pandas读取中文文本文件报错:python ‘utf-8‘ codec can‘t decode byte 0xe3 in position 0: unexpected end of data
近日用pandas的read_csv读取中文文本文件时报错:python 'utf-8' codec can't decode byte 0xe3 in position 0: unexpected ...
- pandas 读取csv : ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte
问题描述 用python 读取csv文件时,报错utf-8' codec can't decode byte 0xff in position 0: invalid start byte 问题原因 打 ...
- pandas读取出错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0
在处理csv文件时,发现这个出错,怎么办呢? Traceback (most recent call last): File "pandas\_libs\parsers.pyx" ...
- tensorflow 读取图片错误(error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0 )的解析
在用tensorflow 自带的读取文件gfile模块中,调用API,如: filename = directory + DIRECTORY_IMAGES + name + '.jpg' image_ ...
- pandas 读csv 报错 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 0: invalid cont
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 0: invalid continuation byte 解码 ...
- pandas读取数据时,报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid contin
1.我的代码: df_train=pd.read_csv("C:\\Users\\15520\\Desktop\\AI\\阿里天池\\幸福感挖掘\\happiness_train_compl ...
最新文章
- 国内程序员最容易发音错误的单词集合
- OpenGL之深入解析纹理的渲染使用
- GreenPlum的并行查询优化策略
- mysql安装及一些注意点
- python中type为什么有main_python中 __name__及__main()__的妙处
- 二分查找以及数组下标的移动规律
- MySQL存储过程(二)——存储过程基本使用
- 3.这就是搜索引擎:核心技术详解 --- 搜索引擎索引
- 图:中国航天六院演讲比赛使用的用户自定义的PPT界面_[评委计分系统-双屏专业版]提供支持
- linux卸载cognos,在Linux上实战安装Cognos
- 2万字硬核剖析网页自定义字体解析(css样式表解析、字体点阵图绘制与本地图像识别等)
- vTestStudio:变体Variant初理解
- 个税计算、税基的处理
- Ansible学习笔记——JINJA2模板的语法及使用(template模块)
- RequestResponse入门1(Request)
- C语言单元测试之安装gtest教程及一个简单样例
- 易宝支付[钱麦](附代码)
- Matlab顶级期刊配色工具Rggsci
- Qt::Key键盘按键说明
- 太阳电池IV测试软件,太阳能电池IV性能测试仪
热门文章
- erc20根据合约地址获取所有交易记录
- Python生成图文并茂PDF报告
- 网易互娱2017实习生招聘在线笔试第一场-3划线
- OS学习笔记-1(清华大学慕课)操作系统概述
- 今天你够“敏捷”吗?
- opencv在图片上添加文字
- Fiddler环境配置/代理设置:电脑端/移动端/模拟器
- python,人工智能,水果识别
- 关于HTML实现拖放时出现禁止图标的解决方案
- CVE: 2014-6271 Bash Specially-crafted Environment Variables Code Injection Vulnerability Analysis