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

标签 python python-3.x csv unicode

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

UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-6: ordinal not in range(128)

import csv


with open("test.csv", 'w') as csvfile:
    csvfile = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    hello = 'привет, мир!'
    csvfile.writerow([hello])

最佳答案

打开文件时声明文件的编码。 newline='' 根据 csv 也是必需的文档。

import csv

with open('test.csv','w',encoding='utf8',newline='') as csvfile:
    csvfile = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    hello = 'привет, мир!'
    csvfile.writerow([hello])

关于python - 将俄语符号写入 csv 时出现 Unicode 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46870929/

相关文章:

python - 将多个条件值分配给新的 pandas 列中的百分位数

python - shutil.rmtree 可以抛出的异常的完整列表是什么

java csv分号问题

python - PyFst 安装 Ubuntu 错误命令 'x86_64-linux-gnu-gcc' 失败,退出状态 1

python - 新内容类型和新字段类型的原型(prototype)与灵活性

python - 一行 for 循环用于具有变量增量和二维列表搜索的二维列表

Python异步: is the error me or the API?

python - 有没有一种为 scipy.optimize.root 或 scipy.optimize.fsolve 动态创建非线性方程的好方法?

java - 如何从csv文件中读取特定数据并将其删除?

python - 在 python 中使用 X 和 Y 值从两个 CSV 文件创建单个 CSV