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会报以下错误: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文件后编码格式相同。

 ②修改后缀为csv

 ③

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

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

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

详细步骤如下:

①点击“文件”选择“另存为”再选择其他格式。(或直接快捷键F12进行文件另存为)

②文件类型选择CSV即可

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年8月17日
下一篇 2023年8月17日

相关推荐