Python中通过csv的writerow输出的内容有多余的空行两种方法
程序员文章站
2022-05-18 19:31:22
第一种方法 如下生成的csv文件会有多个空行 加入newline='' 参数 这样就不会有空行了。 PS:遇到问题没人解答?需要Python学习资料?可以加点击下方链接自行获取 note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76 ......
第一种方法
如下生成的csv文件会有多个空行
import csv #python2可以用file替代open with open("test.csv","w") as csvfile: writer = csv.writer(csvfile) #先写入columns_name writer.writerow(["index","a_name","b_name"]) #写入多行用writerows writer.writerows([[0,1,3],[1,2,3],[2,3,4]])
加入newline='' 参数
#coding=utf-8 import csv #python2可以用file替代open with open("test.csv","wt",newline='') as csvfile: writer = csv.writer(csvfile) #写入多行用writerows writer.writerows([["index","a_name","b_name"],[0,1,3],[1,2,3],[2,3,4]])
这样就不会有空行了。
ps:遇到问题没人解答?需要python学习资料?可以加点击下方链接自行获取
note.youdao.com/noteshare?id=2dce86d0c2588ae7c0a88bee34324d76
第二种方法:
先写入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)