python报错:‘UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xfe in position 683: illegal multibyte

一、问题描述

python读取csv文件,结果报错:‘UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xfe in position 683: illegal multibyte sequence’。

with open('my_data.csv', 'r') as f:
    reader = csv.reader(f)
    headers = next(reader) # skip header row
    batch = []

二、问题原因

这个错误通常是由于CSV文件的编码格式与Python代码的编码格式不匹配导致的。实际读取文件,默认是GBK。

with open('my_data.csv', 'r') as f:
    reader = csv.reader(f)
    headers = next(reader) # skip header row
    batch = []

而实际csv文件,外面传来的可能是一些其他编码,而GBK无法完全解析。导致报错。

三、解决办法

将文件和代码的编码格式统计

1.将csv文件保存为UTF-8。

2.python代码通过utf-8编码读取csv文件

with open('my_data.csv', 'r', encoding='utf-8') as f:

python报错:‘UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xfe in position 683: illegal multibyte_第1张图片

你可能感兴趣的:(python,开发语言)