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,
我在将特殊字符串写入 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,