在utf-8中使用csv.reader打开文件

时间:2014-07-09 12:33:27

标签: python python-2.7 utf-8

我尝试在utf-8中打开一个文件并使用csv.reader逐步执行该文件:

    with codecs.open(sap_file, "rb", "utf-8") as in_file:
        #self.logger.debug("open")
        self.reader = csv.reader(in_file,delimiter=";")
        for row in self.reader:
            self.pnrs[(row[1])]={}
        for rows in self.reader:
            self.pnrs[rows[1]][rows[3]]=rows[4]

但这是我的追溯:

for row in self.reader:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 38:  ordinal not in range(128)

有人在这里有一些提示吗?

1 个答案:

答案 0 :(得分:1)

我认为您是以错误的方式打开文件,请尝试open(sap_file, "rb")而不是codecs.open(sap_file, "rb", "utf-8")

另请阅读here