python - 使用python将带有俄语字符的二维数组打印到csv

标签 python arrays csv encoding

我有一个二维数组,其中包含俄语/阿拉伯语/中文字符。我不确定如何将所有内容打印到 CSV 文件中。我想以 UTF-8 格式将其打印到 CSV 文件中。下面列出了我正在使用的代码。

matchedArray = [[]]
matchedArray.append(x)

ar = matchedArray

f1 = open('C:/Users/sagars/Desktop/encoding.csv','w')
writer = csv.writer(f1)
writer.writerow(['Flat Content', 'Post Dates', 'AuthorIDs', 'ThreadIDs',
                 'Matched Keyword', 'Count of keyword']) #if needed
for values in ar:
    writer.writerow(values)

但是,我收到以下错误:

Traceback (most recent call last):
  File "C:/Users/sagars/PycharmProjects/encoding/encoding.py", line 18, in <module>
    writer.writerow(values)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-13: ordinal not in range(128)

Process finished with exit code 1

如何将此二维数组打印到 CSV 文件?

谢谢!

最佳答案

您可以使用 str.encode在存储到 csv 文件之前使用正确的编码对每个字符进行编码。

for values in ar:
    # values is a list/string of unicode characters
    writer.writerow([val.encode("utf-8") for val in values])   

关于python - 使用python将带有俄语字符的二维数组打印到csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698310/

相关文章:

Java 文件和 ByteArray 或 InputStream

PHP 如何迭代目录并将以相同字符串结尾的所有文件合并到该名称的单个文件中

java - 使用Scanner()读取CSV

javascript - 如何从总数中启动复选框组值

javascript - 使用元素之一作为引用点从 Javascript 数组中选择元素

c# - 列数未知的 CSV 的编写/解析库

python - pylab.hist(数据,规范=1)。规范化似乎工作不正确

python - 如何将一个图的输出作为 tensorflow 中另一图的输入传递

python - 在 pandas/matplotlib 中格式化时间序列 x 轴

python - dataframes 通过 [] 和 .(attribute) 选择数据