Python 将特殊字符串写入 CSV

Python write special string to CSV

我在将特殊字符串写入 CSV 时遇到问题。

已解决的问题:

def csv_write(s):
with open('test.csv', 'w', newline='', encoding='UTF-8') as f:
    writer = csv.writer(f, delimiter = ',')
    writer.writerow(s)
f.close()

def csv_read(path):
with open('test.csv', 'r', encoding='utf8') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

csv_write(['Ngày tháng năm',''])

csv_read('test.csv')

谢谢大家。

您的代码运行正常。您正在使用以 Latin-1 而不是 UTF-8 显示 CSV 的工具,这就是它看起来不对的原因。

python的默认编码方案是UTF-8。 这里提到的文字是UTF-8编码。 如果您尝试在读取编码为 ASCII 字符的应用程序中打开文件,您将显示 - Ngày tháng nÄm

将鼠标悬停到该站点并输入您的 UTF-8 字符串,您可以看到 ASCII 将打印相同的内容。 https://onlineutf8tools.com/convert-utf8-to-ascii

程序生成正确的输出。

import csv


def test(s):
    with open('test.csv', 'w', newline='', encoding='utf8') as f:
        writer = csv.writer(f, delimiter=',')
        writer.writerow(s)


test(['Ngày tháng năm', ''])

以上代码在程序中输出相同的文本。 也许您可以尝试更改您正在读取文件的应用程序。

Output

Ngày tháng năm,