在IronPython中使用编解码器读取UTF-8文件

在IronPython中使用编解码器读取UTF-8文件,python,encoding,csv,utf-8,ironpython,Python,Encoding,Csv,Utf 8,Ironpython,我有一个用UTF-8编码的.csv文件,其中包含拉丁语和西里尔语符号 ;F1;F2;abcdefg3;F200 ;ABSOLUTE;NOMINAL;NOMINAL;NOMINAL o1;1;USA;Новосибирск;1223 我试图在IronPython 2.7.1中执行以下脚本: import codecs f = codecs.open(r"file.csv", "rb", "utf-8") f.next() 在执行f.next()期间,发生异常: Traceback (most

我有一个用UTF-8编码的.csv文件,其中包含拉丁语和西里尔语符号

;F1;F2;abcdefg3;F200
;ABSOLUTE;NOMINAL;NOMINAL;NOMINAL
o1;1;USA;Новосибирск;1223
我试图在IronPython 2.7.1中执行以下脚本:

import codecs

f = codecs.open(r"file.csv", "rb", "utf-8")
f.next()
在执行f.next()期间,发生异常:

Traceback (most recent call last):
  File "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\1.1\visualstudio_py_repl.py", line 492, in run_file_as_main
    code.Execute(self.exec_mod)
  File "<string>", line 4, in <module>
  File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 684, in next
    return self.reader.next()
  File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 615, in next
    line = self.readline()
  File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 530, in readline
    data = self.read(readsize, firstline=True)
  File "C:\Program Files\IronPython 2.7.1\Lib\codecs.py", line 477, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeEncodeError: ('unknown', '\x00', 0, 1, '')
有人知道是什么导致了这种奇怪的行为吗?

可能是“rb”参数有问题,请尝试使用“r”

f = codecs.open(r"file.csv", "r", "utf-8")

看起来这可能是
next()
处理编解码器的一个错误。能否请您将要复制的文件附在附件中?

我已尝试删除“b”。例外消失了,但西里尔字母符号被解码错了。此外,根据文档,StreamReader获取的流必须是打开以读取(二进制)数据的类似文件的对象。
f = codecs.open(r"file.csv", "r", "utf-8")