为什么python用东方字符写入我的CSV文件?

2024-10-02 08:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

也许我很愚蠢,错过了一些东西,我没有很多使用CSV文件的经验,但是我有一个文件管理器,它只显示: 名称编码者ID证书类型

我想把文本转换成一个新的文件,像这样: 名称“,”编码者ID“,”证书类型

但是它会这样转化: 名称“∠”证书类型

我的代码是:

import csv

#File Setup
def setup():
    userAnswers = open('My Report.csv', 'r+')
    userAnswers2 = open('My ReportNew.csv', 'w')

    for line in userAnswers:
        userAnswers2.write(line.replace('\t', '", "' ))


#Set up Run
setup()

附言:这些词是分开标签,但这个网站似乎不让我标签的话在我的职位。提前感谢您的帮助!你知道吗


Tags: 文件csv名称id类型编码mysetup
1条回答
网友
1楼 · 发布于 2024-10-02 08:21:17

所以你想把制表符转换成带逗号的引号的字段?你知道吗

import csv

with open('input.csv','r',newline='') as inf,open('output.csv','w',newline='') as outf:
    r = csv.reader(inf,delimiter='\t')
    w = csv.writer(outf,quoting=csv.QUOTE_ALL)
    for line in r:
        w.writerow(line)

输入(制表符分隔):

Name    Coder-ID Certificate Type
Mark    abc      abcdef      1
Mark    abc      abcdef      1
Mark    abc      abcdef      1

输出:

"Name","Coder-ID","Certificate Type"
"Mark","abc","abcdef","1"
"Mark","abc","abcdef","1"
"Mark","abc","abcdef","1"

如果编码仍有问题,请在带有encoding='utf8'参数的open语句中显式指定文件的编码(或实际编码是什么)。你知道吗

相关问题 更多 >

    热门问题