也许我很愚蠢,缺少一些东西,我没有使用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()
PS:这些单词被分开了,但是这个网站似乎没有让我在我的帖子中加上单词。预先感谢您的帮助!
答案 0 :(得分:0)
因此,您想将标签从制表符转换为带引号的字段吗?
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"
如果您仍然无法使用编码,请在open
语句中使用encoding='utf8'
参数(或其他实际编码)显式指定文件的编码。