linux下运行python3出现TypeError: a bytes-like object is required, not 'str'

目标:用python将中文存入csv,且中文正常显示。

 环境:linux,python3

百度N久,方法都不行或是比较复杂。

 以上代码用python3运行后,出现TypeError: a bytes-like object is required, not 'str'

 

 

 而用python2却正常……

 

让人捉急……

 

 个人解决方法:(可能跟其他人不一样,大伙可试试)

修改代码

 

运行成功

 

 中文也可以正常显示

 

 

但如果你拷贝到windows下,excel打开,中文还是乱码的,这种正常显示,只限在linux,这个的优化方法,我还在研究中~

 

 简单总结:

  wb中的w表示写入模式,b是文件模式,由于我也是想找存入csv的方法,直接用网上的方法,所以其实直接w就可以了

   csvfile.write(codecs.BOM_UTF8) 这句是为了解决打开csv中文乱码,不过应该是在windows下采用,linux下不需要(看我上面的两个例子就知道了)。

 

 

 如有错误,请及时指正,谢谢!

 

posted @ 2018-04-12 16:08  怪盗积德  阅读(485)  评论(0编辑  收藏  举报