python使用writerows写csv文件产生多余空行的处理方法

yipeiwu_com6年前Python基础

初次接触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文件产生多余空行的处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python模拟随机游走图形效果示例

Python模拟随机游走图形效果示例

本文实例讲述了Python模拟随机游走图形效果。分享给大家供大家参考,具体如下: 在python中,可以利用数组操作来模拟随机游走。 下面是一个单一的200步随机游走的例子,从0开始,步...

酷! 程序员用Python带你玩转冲顶大会

酷! 程序员用Python带你玩转冲顶大会

2018年1月3日,王思聪被迫动用自己的微博,为一个诞生不到10天的App打了广告,“每天我都发奖金,今晚9点就发10万”。对他而言,这天的微博并非生日宴会,而是战场。王思聪的一则微博开...

Python3数字求和的实例

以下实例为通过用户输入两个数字,并计算两个数字之和: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www...

Django 大文件下载实现过程解析

django提供文件下载时,若果文件较小,解决办法是先将要传送的内容全生成在内存中,然后再一次性传入Response对象中: def simple_file_download(req...

Python简单过滤字母和数字的方法小结

本文实例讲述了Python简单过滤字母和数字的方法。分享给大家供大家参考,具体如下: 实例1 crazystring = 'dade142.!0142f[., ]ad' # 只保留数...