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

本文讲述了如何解决在Python中读取由xlsx或xls转换成csv文件时遇到的UnicodeDecodeError,包括创建txt文件转csv、直接另存为csv以及设置正确编码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:我在读取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即可

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

askxiaozhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值