python 报错"UnicodeDecodeError: 'utf-8' codec can't decode byte"的解决办法
最近写了一个Python读取csv文件,创建了一个excel文件后直接将其格式改为csv类型,
执行以下代码:
import csv
birth_data = []
with open("F://regnster.csv",encoding='utf-8') as csvfile:
csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件
print(csv_reader)
# birth_header = next(csv_reader) # # 越过第一行,因为是标题行,不是数据
for stu in csv_reader: # 将csv 文件中的数据保存到birth_data中
# birth_data.append(row)
print(stu)
报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 14: invalid start byte
后来经过不断查找终于找到了解决办法。
由于我在程序中设定文件打开的编码格式为“utf-8”,文件却不是所以才报错!
解决办法很简单,只需要在另存为的时候,选择编码方式为:UTF-8即可,就像下面这样
再次打开是运行成功