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

时间:2023-03-08 17:12:01
linux下运行python3出现TypeError: a bytes-like object is required, not 'str'

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

环境:linux,python3

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

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

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

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

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

而用python2却正常……

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

让人捉急……

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

修改代码:

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

运行成功

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

中文也可以正常显示

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

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

 简单总结:

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

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

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