背景
Python读.csv文件,使用Pandas库里的read_csv()函数读取
问题
报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte.
分析
以上错误可能是由于文件中包含中文字符,而默认的encoding="utf-8"是对英文字符进行读取的,需要将其修改为encoding="GB2312", 对包含中文字符的文件内容进行读取并解码,如果不包含中文字符,则应为“utf-8”.
解决方法
使用python自带的open()函数,以及csv库进行读取,代码如下:
import csv
def readCSV(filename):
lines = []
with open(filename, "rt", encoding="GB2312") as f:#utf-8
csvreader = csv.reader(f)
for line in csvreader:
lines.append(line)
return lines
注意:encoding="GB2312"
参考博客:
https://blog.csdn.net/weixin_40930415/article/details/80756828