python 把列表存入 .csv 文件中出现空行,writer.writerow(row) TypeError: a bytes-like object is required, not 'str

1. 学习环境

      windows10 、Anaconda(向初学者推荐这个工具) 中的IDE工具Spyder 、python 3.7。

2. 解决问题方法

     

output = open('Tresult123.csv', 'wb')

      首先,把  ‘wb' 后面的的  ' b '去掉,去掉之后 writer.writerow(row)  TypeError: a bytes-like object is required, not 'str,这个错误是没有了,但是打开 .csv文件会发现出现空行。然后再在后面加 newline=' ' 问题就彻底解决了,既不会报上面所说错误也不会出现空行 。

       修改前代码:    

import csv
def test():
    input = open('result.csv', 'r')
    output = open('Tresult123.csv', 'wb')
    writer = csv.writer(output)
    result = []
    for row in csv.reader(input):   
        if row:       
            writer.writerow(row)
            
test()    

       修改后代码: 

import csv
def test():
    input = open('result.csv', 'r')
    output = open('Tresult456.csv', 'w',newline = '')
    writer = csv.writer(output)
    result = []
    for row in csv.reader(input):   
        if row:       
            writer.writerow(row)
            
test()    

       附(去除 .csv文件有空行的代码):

# -*- coding: utf-8 -*-
"""
Created on Fri Mar  8 15:31:16 2019
@author: 吕曌
"""
import csv
def test():
    #result.csv 是有空行的文件
    input = open('result.csv', 'r')  
    output = open('Tresult45678.csv', 'w', newline = '')
    writer = csv.writer(output)
    result = []
    #去除空行
    for row in csv.reader(input):   
        if row:   #去除空行    
            writer.writerow(row)
            
test()    
#把数据重新存入 Tresult45678.csv 文件之后就不会有空行了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值