【发布时间】:2022-10-18 01:07:48
【问题描述】:
我的电子邮件验证器工具出现问题,它不会突然解码。
我有这个错误:
File "C:\Users\vk662\OneDrive - ST\Skrivebord\test\email_check.py", line 70, in <module>
for row in csv_reader:
File "C:\Program Files\Python310\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 4: invalid continuation byte
这是代码:在第 70 行;
email_list = []
with open('email_in/test.csv', 'r', encoding='utf-8') as read_obj:
csv_reader = csv.reader(read_obj, delimiter=';')
for row in csv_reader:
if (row):
result = email_check(row[0],email_list)
if result["Email ok"]:
email_list.append(row[0])
if result["Email ok"]:
email_ok.append(row[0])
else:
str = "~~"
for x, y in result.items():
if y:
str += x + "~~"
if x == "Duplicate email" and y:
if row[0] in email_ok:
email_ok.remove(row[0])
email_error.append(row[0] + str)
【问题讨论】:
-
CSV 文件似乎有另一种编码为“utf-8”。
-
@MichaelButscher我该如何解决?
-
找出使用了哪种编码。如果大部分文件以 Ascii 编码,您可以将参数
errors='replace'添加到open调用中。这将用问号替换无法识别的字节。
标签: python unicode utf-8 decode