self.encoding_errors&关闭文件的I / O操作

时间:2016-06-15 15:40:40

标签: python csv python-unicode

以下问题暂时得到解决。我发现输入文件(csv)有特殊字符(例如Aimí©)导致错误。我现在手动更改字符(例如Aimí© - > Aime)。

上一个问题:

我在写入csv文件时使用unicodecsv。我的程序运行顺利,直到遇到以下错误。有人可以帮忙吗?

代码:

import unicodecsv as csv
output_csv_write = open(csv_file_name_write,'w')
csv_file_write = csv.writer(output_csv_write, encoding='utf-8')
csv_file_write.writerow([An array of info])

第一个错误:

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-4: unexpected end of data

看到上述错误后,我尝试运行:

进行调试
    csv_file_write.writerow(['A','B','C'])

我收到第二个错误如下:

     84     def writerow(self, row):
     85         return self.writer.writerow(
---> 86                 _stringify_list(row, self.encoding, self.encoding_errors))
     87 
     88     def writerows(self, rows):

ValueError: I/O operation on closed file

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

import unicodecsv as csv

with open(csv_file_name_write, "wb") as f:
    writer = csv.writer(f, encoding="utf-8")
    writer.writerow(["A", "B", "C"])

如果这不能解决您的问题,不幸的是,我无法帮助您,因为这可以在我的机器上运行。