您的位置:首页 > 其它

csv.writerow寫入多出空白一行問題解決

2017-09-07 00:01 525 查看
最近在做資料處理時發現,使用csv模組的writerow做多筆寫入時,每筆之間會莫名其妙空一行。這樣的狀況在記事本看不出來,用excel就會發現了。根據網路查詢得知,windows系統下會幫每一行結尾多加一個看不見的”進位符號”,然而這個動作writerow本身就會幫我們做,所以等於重複按Enter兩次。避免這種狀況一般常見的解決方法是以binary的方式開啟檔案:

f = open("xxx.csv","wb")
c = csv.writer(f)


然而這種方法在Python 3 下會產生錯誤:

ValueError: binary mode doesn’t take a newline argument

在花了我一個下午找尋,才終於找到解決辦法,而且極其簡單,讓這一下午的心血變得很不值…

f = open('xxx.csv', 'w', newline='')


後面加個newline=’ ‘的參數就好了。不過這招在Windows系統下有用,不知道到了Linux下會不會變成完全不會進位了? 這就有賴相關平台的朋友告知~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息