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即可,就像下面这样

再次打开是运行成功

 

posted @ 2019-03-06 11:19  乖乖楠  阅读(75386)  评论(0编辑  收藏  举报