簡體   English   中英

編輯csv文件Python 3 - 將文件內容與打印輸出匹配

[英]Editing csv file Python 3 - matching file content to the print output

我遇到的問題是創建的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

獲得此輸出的原因是因為您使用逗號quotechar=','來引用包含空格的字段,這是您的分隔符。 話雖這么說,你想要的是使用,作為分隔符這是默認的分隔符值

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文件,同樣適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM