繁体   English   中英

写入csv文件时,writerow因UnicodeEncodeError失败

[英]when writing to csv file writerow fails with UnicodeEncodeError

我有这条线:

c.writerow(new_values)

这会将许多值写入csv文件。 通常它工作正常但有时会抛出异常并且不会在csv文件中写入该行。 我不知道我怎么能找出原因。

这是我现在的异常处理:

        try:
            c.writerow(new_values)
        except:
            print()
            print ("Write Error: ", new_values)

我评论了我自己的例外,它说:

    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u03b1' in position 14: character maps to <undefined>

好的,我自己解决了:

我只需要在我的csv.writer行添加“,encoding ='utf-8'”:

c = csv.writer(open("Myfile.csv", 'w',  newline='', encoding='utf-8'))

python中的csv模块因为不能很好地处理unicode字符而臭名昭着。 除非所有字符都落在ascii编解码器中,否则您可能无法写入该行。 你可能想要研究一下(有点)代替unicodecsv的替代品。 https://pypi.python.org/pypi/unicodecsv

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM