初次接觸python,學藝不精,第一次實戰寫一個文本處理的小程序時便遇到了頭疼的問題。
先看代碼:
生成的.CSV文件每兩行之間都會多出一行空格(如下圖),具體原因可參看點擊打開鏈接
with open('E:\\test.csv','wt')as fout: cout=csv.DictWriter(fout,list_attrs_head )#list_attrs_head頭屬性列表 cout.writeheader() cout.writerows(list_words)
上面鏈接中的這位大神原因和方法都寫得比較好,開始我是按照鏈接中的方法修改,
將with open(path,'wt')as fout改為with open(path,'wb')as fout
但一運行卻報出這樣的錯誤:TypeError: a bytes-like object is required, not 'str' ? ,是因為我寫入的都是字符串,所以會報錯,按要求改成字節可能會成功,沒有再試
最后想到了一個比較簡單原始的方法,就是再將生成好的.csv文件以文本方式讀出,并判斷是否是空行,若是空行就直接舍棄即可。
輸出沒有空行的.csv文件完整代碼為:
with open('E:\\test.csv','wt')as fout: #生成csv文件,有空行 cout=csv.DictWriter(fout,list_attrs_head ) cout.writeheader() cout.writerows(list_words) with open('E:\\test.csv','rt')as fin: #讀有空行的csv文件,舍棄空行 lines='' for line in fin: if line!='\n': lines+=line with open('E:\\test.csv','wt')as fout: #再次文本方式寫入,不含空行 fout.write(lines)
運行一下,結果如下:
總結
以上所述是小編給大家介紹的python使用writerows寫csv文件產生多余空行的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
