2016-04-03 72 views
1

我在创建csv文件的内容时显示为打印输出时遇到问题。编辑csv文件Python 3 - 将文件内容与打印输出相匹配

代码:

import csv 

with open('test.csv', 'w', newline='') as csvfile: 
    filewriter = csv.writer(csvfile, delimiter=' ', 
          quotechar=',', quoting=csv.QUOTE_MINIMAL) 
    filewriter.writerow(['Spam'] * 2 + ['Baked Beans']) 
    filewriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 

with open('test.csv', newline='') as csvfile: 
    filereader = csv.reader(csvfile, delimiter=' ', quotechar=',') 
    for row in filereader: 
     print(', '.join(row)) 

输出:

Spam, Spam, Baked Beans 
Spam, Lovely Spam, Wonderful Spam 

test.csv文件:

Spam Spam ,Baked Beans, 
Spam ,Lovely Spam, ,Wonderful Spam, 

通知怪异的逗号。

test.csv

Spam, Spam, Baked Beans 
Spam, Lovely Spam, Wonderful Spam 

回答

0

您得到这个输出的原因所需的内容,是因为你正在使用逗号quotechar=','引述容纳空间这是您的分隔符的字段。这是说你想要的是使用,作为分隔符,这是默认的delimiter value

import csv 

with open('test.csv', 'w', newline='') as csvfile: 
    filewriter = csv.writer(csvfile) 
    filewriter.writerow(['Spam'] * 2 + ['Baked Beans']) 
    filewriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) 

,如果你想读你csv文件同样的事情适用。