将俄语符号写入 csv 时出现 Unicode 错误

Dam*_*nov 3 python csv unicode python-3.x

我想将西里尔字母写入 csv 文件,但出现 unicode 编码错误。英文符号效果完美。我正在使用 Python 3.6.2。

\n\n
\n

UnicodeEncodeError: \'ascii\' 编解码器无法对位置\n 1-6 中的字符进行编码:序数不在范围内 (128)

\n
\n\n
import csv\n\n\nwith open("test.csv", \'w\') as csvfile:\n    csvfile = csv.writer(csvfile, delimiter=\',\', quotechar=\'|\', quoting=csv.QUOTE_MINIMAL)\n    hello = \'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82, \xd0\xbc\xd0\xb8\xd1\x80!\'\n    csvfile.writerow([hello])\n
Run Code Online (Sandbox Code Playgroud)\n

Mar*_*nen 5

打开文件时声明文件的编码。 根据csvnewline=\'\'文档也需要。

\n\n
import csv\n\nwith open(\'test.csv\',\'w\',encoding=\'utf8\',newline=\'\') as csvfile:\n    csvfile = csv.writer(csvfile, delimiter=\',\', quotechar=\'|\', quoting=csv.QUOTE_MINIMAL)\n    hello = \'\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82, \xd0\xbc\xd0\xb8\xd1\x80!\'\n    csvfile.writerow([hello])\n
Run Code Online (Sandbox Code Playgroud)\n