Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid

问题描述:我在读取csv文件时 python报了如下错误

或者报了以下错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence

目录

问题引出:

错误示范如下:

解决方案如下:


问题引出:

我先创建的xlsx 或者 xls文件,然后再改成以csv为后缀的文件,最后在python里读取失败。

错误示范如下:

①直接通过新建方式->创建xls工作表 或者 xlsx工作表。

Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第1张图片

 

 ③直接进行改名:

执行后,python会报以下错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence

加入encoding='utf-8'也提示报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte

原因:这两者文件 直接进行转化的话,由于xlsx 或者 xls文件的格式与csv的格式编码不一样,导致解码错误。excel以ANSI格式打开,不会做编码识别。

解决方案如下:

1、更换创建方式

①创建文本txt:目的是为了后续改成csv文件后编码格式相同。

Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第2张图片

Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第3张图片

 ②修改后缀为csv

Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第4张图片

 ③

运行之后 未报错 成功解决√ 

2、直接打开原文件再另存为csv

打开创建的xlsx文件或者xls文件,选择另存为->文件类型选择“CSV(逗号分隔)”即可创建正常编译过的csv文件。

详细步骤如下:

①点击“文件”选择“另存为”再选择其他格式。(或直接快捷键F12进行文件另存为)Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第5张图片

②文件类型选择CSV即可

Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invalid_第6张图片

 以上是本人的总结经验,如有错误请批评指正!

你可能感兴趣的:(Python基础学习,基础学习,学习笔记,python,开发语言,经验分享)