簡體   English   中英

將元組行保存到python中的csv中而沒有空白行?

[英]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.

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