csv.Error:迭代器应该返回字符串,而不是字节

问题描述

您以文本模式打开文件

进一步来说:

ifile  = open('sample.csv', "rt", encoding=<theencodingofthefile>)

编码的好猜测是“ascii”和“utf8”。您也可以关闭编码,它将使用系统认编码,通常是 UTF8,但也可能是其他编码。

解决方法

Sample.csv 包含以下内容:

NAME    Id   No  Dept
Tom     1    12   CS
Hendry  2    35   EC
Bahamas 3    21   IT
Frank   4    61   EE

Python 文件包含以下代码:

import csv
ifile  = open('sample.csv',"rb")
read = csv.reader(ifile)
for row in read :
    print (row)

当我在 Python 中运行上述代码时,出现以下异常:

文件“csvformat.py”,第 4 行,读取中的行:_csv.Error:迭代器应返回字符串,而不是字节(您是否以文本模式打开文件?)

我该如何解决?