charmap编解码器无法编码位置xx - xx中的字符

时间:2015-03-04 08:00:52

标签: python csv unicode

我正在尝试在python 2.7.x中使用unicodecsv python库

import codecs
import unicodecsv

def read(self, path):
    with codecs.open(path, "rb", encoding = "utf-8") as f:
        r = unicodecsv.reader(f, encoding = 'utf-8')    
        row = r.next()
        print row


read("unicode.csv")

错误: charmap编解码器无法编码位置xx - xx

中的字符

我已经使用txt编辑器手动将我的csv文件转换为utf-8,所以我确信输入文件很好

1 个答案:

答案 0 :(得分:0)

我发现您的代码存在一些问题:

def read(self, path):

您在self

中使用class

打开codecs.open文件后,您可以使用标准的python csv阅读器。

经过一些修改:

f = "/home/dzagorulkin/workspace/zont/file.txt"

import codecs
#import unicodecsv

def read(path):
    with codecs.open(path, "rb", encoding = "utf-8") as f:            
        for line in f:
            print line
read(f)

我没有使用ASCII文件和输出:

  

МеняДимазовут! МеняДимазовут!