UnicodeEncodeError:'charmap'编解码器无法编码字符:字符映射到<undefined>

时间:2018-01-16 22:50:35

标签: python

我正在对一个巨大的平面文件进行一些csv读/写操作。根据消息来源,该文件的内容采用UTF-8编码,但在尝试写入.csv文件时,我收到以下错误:

Traceback (most recent call last):
  File " basic.py", line 12, in <module>
    F.write(q)
  File "C:\Program Files\Python36\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\x9a' in position 19: character maps to <undefined>

该文件很可能包含一些多文化符号,因为它包含代表某些全球信息的数据。

但由于其庞大,无法一个接一个地手动修复。那么有没有办法可以修复这些错误,让代码忽略这些错误,或者理想情况下可以标准化这些字符。在写完这些csv文件之后,我将通过sql server db上传它。

1 个答案:

答案 0 :(得分:0)

尝试将文本写入.txt文件时,我有相同的错误消息。 我通过替换来解决了这个问题

my_text = "text containing non-unicode characters"

text_file = open("Output.txt", "w")
text_file.write(my_text)

使用

my_text = "text containing non-unicode characters"

text_file = open("Output.txt", "w", encoding='utf-8')
text_file.write(my_text)