[英]Python: Set a quotechar for csv.DictWriter?
有沒有一種方法可以為csv.DictWriter()字段名稱設置quotechar,類似於如何使用csv.reader()設置quotechar? 我對用下面的quote
變量定義的指定quotechar包圍非數字字段名稱條目特別感興趣。
我試圖得到
fieldnames = ['a', 'b', 'c', 'd', 'e']
separator = ','
quote = '"'
table = [{'a': 10, 'c': 12, 'b': 11, 'e': 14, 'd': 13}]
with open('output1.csv', 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames = fieldnames, delimiter = separator)
writer.writeheader()
for row in table:
writer.writerow(row)
輸出
"a","b","c","d","e"
10,11,12,13,14
當quote = '"'
而不是
a,b,c,d,e
10,11,12,13,14
import csv
fieldnames = ['a', 'b', 'c', 'd', 'e']
separator = ','
quote = '"'
table = [{'a': 10, 'c': 12, 'b': 11, 'e': 14, 'd': 13}]
with open('output1.csv', 'w') as csvfile:
writer = csv.DictWriter(
csvfile,
fieldnames=fieldnames,
delimiter=separator,
quotechar=quote,
quoting=csv.QUOTE_NONNUMERIC,
)
writer.writeheader()
for row in table:
writer.writerow(row)
我認為您正在尋找csv.QUOTE_NONNUMERIC
您可以,但是您需要兩個不同的編寫器,因為顯然您想引用標頭而不是數據行:
with open('output1.csv', 'w') as csvfile:
quoted = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter=separator, quoting=csv.QUOTE_ALL)
quoted.writeheader()
writer = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter=separator)
for row in table:
writer.writerow(row)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.