美文网首页codeER.tec
py bytes和str的转换以及写入csv用Excel读取中文

py bytes和str的转换以及写入csv用Excel读取中文

作者: 雷霆嘎巴嘎嘎 | 来源:发表于2017-12-08 11:13 被阅读11次
这个搞了一天半新手无奈.jpg

此问题来由:最近闲来无事研究了爬虫,然后入坑了个爬取某天气网站的代码。

研究了一下,发现把数据写入csv文件之后,用Excel打开,发现中文乱码。

经过百度,发现了种方法,需要f.write(codecs.BOM_UTF8)
但是,知道py3版本以上的大佬们知道,write写入的只能是str,而 codecs.BOM_UTF8是bytes字节

所以,查到将字节转换成str方法如下:

 # bytes object  
 b = b"example"  

 # str object  
 s = "example"  

 # str to bytes  
 bytes(s, encoding = "utf8")  

 # bytes to str  
 str(b, encoding = "utf-8")  

 # an alternative method  
 # str to bytes  
 str.encode(s)  

 # bytes to str  
 bytes.decode(b)  

写入方法示例如下:

   def write_data(data,name):

      file_name = name
      with open(file_name,'a+') as f:

            f.write(bytes.decode(codecs.BOM_UTF8))
            f_csv = csv.writer(f)
            f_csv.writerows(data)

相关文章

网友评论

    本文标题:py bytes和str的转换以及写入csv用Excel读取中文

    本文链接:https://www.haomeiwen.com/subject/taxeixtx.html