我试图导出一些阿拉伯语在csv文件后,从转译。当我试图在CSV中写它时,我总是遇到一个问题。问题是这个:
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 2-7: character maps to <undefined>我的代码如下所示(在这里尽量简明扼要):
from bs4 import BeautifulSoup
import requests
import csv
from yandex_translate import YandexTranslate
csv_file = open("syno.csv", "w", newline = '')
csv_writer = csv.writer(csv_file)
#making the request to the translater and so on, not written here, tell me if you need it but I don't think so.
traduction =(translate.translate('bonjour', 'fr-ar'))
csv_writer.writerow([traduction["text"]])
csv_file.close()当我用SublimeText (而不是csvwriter )构建它时,我可以毫无问题地得到结果。只有当我想在csv上写的时候,我才明白这个问题。有什么办法解决这个问题吗?
我在UTF-8中看到了一些关于编码或解码的东西,但我不知道该在哪里添加这种可能性。
谢谢!
发布于 2018-11-13 12:05:13
您可以在代码的顶部声明UTF-8:
# -*- coding: <encoding name> -*-然后您可以使用utf-8编码/解码。
更新:基于这些答案,您应该像您的控制台一样更改Unicode的其他环境。
答案-1
回答-2
尝试使用UTF-8编码打开您的文件:
csv_file = open("syno.csv", "w", encoding='utf-8', newline = '')https://stackoverflow.com/questions/53280373
复制相似问题