Python 读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd0 in position 0:invali
问题描述:我在读取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即可
以上是本人的总结经验,如有错误请批评指正!
来源地址:https://blog.csdn.net/qq_57329395/article/details/127876035
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341