[英]Saving tuple rows to csv in python without blank rows?
我在這里閱讀了許多有關如何執行此操作的問題和解答。 但是舉個例子,我有一個像這樣的元組:
[['citigroup.com', 'mx-a.mail.citi.com', 'Y', '248000', 'N'], ['', 'mx-b.mail.citi.com', 'Y', '', 'N']]
我想將其導出到csv,可以這樣做:
with open('file.csv','w') as out:
csv_out=csv.writer(out)
csv_out.writerow(['Domain:','MX:','Verified:','ID:','>20'])
for row in data:
csv_out.writerow(row)
但是,我必須做些不同的事情,因為我的幾乎就像元組內部的元組一樣。 當我嘗試時,我將每個內部元組作為一個元素。 (我最后提出了兩個要素)
如何在csv中正確地將每個元組寫為一行?
更新:
下面的代碼有效,但是由於元組內部的元組,我之間各有空白行
def saveFile():
with open('mailserverdata.csv','w') as out:
csv_out=csv.writer(out)
csv_out.writerow(['Domain:','Mail Server:','TLS:','# of Employees:','Verified:'])
for row in root.ptglobal.to_csv():
csv_out.writerow(row)
要更正CSV中多余行的更新問題,您只需要在open語句中使用wb
標志即可。
所以它應該看起來像這樣。
with open('mailserverdata.csv','wb') as out:
這樣做是因為writerow
添加了\\r\\n
但是在Windows系統上,Python將每個\\n
轉換為\\r\\n
,從而為您提供了\\r\\r\\n
,從而增加了額外的行數。 以二進制模式打開文件可防止這種情況發生。
就像@StevenRumbalski在評論中指出的那樣,這僅適用於2.7。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.