【问题标题】:Editing csv file Python 3 - matching file content to the print output编辑 csv 文件 Python 3 - 将文件内容与打印输出匹配
【发布时间】:2016-04-03 18:03:49
【问题描述】:

我在获取创建的 csv 文件的内容以显示为打印输出时遇到问题。

代码:

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

【问题讨论】:

    标签: python csv python-3.x


    【解决方案1】:

    您获得此输出的原因是因为您使用逗号 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 文件,同样适用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多