多语言展示
当前在线:251今日阅读:197今日分享:19

python3.4写中文字符到csv出现乱码的问题

本人在写python的过程中,发现python3.4写中文字符到csv出现乱码,这和python2.*的解决方法是不一样的,特共享出来供大家互相学习。python3.*的应该都可以借鉴。
工具/原料
1

python3.4

2

笔记本电脑

3

互联网

方法/步骤
1

出现乱码的源码如下:#usr/bin/python3.4# -*- coding: utf-8 -*-import timeimport csvr_fo=open(r'E:/test.csv',mode='a',encoding='utf8')string_temp='你,好,啊,!\n'r_fo.write(string_temp)          r_fo.close() print('job done!')

2

经过在网上查询研究,原因应该为csv的BOM没有更改。有2种方式可以解决:(1)因为csv的BOM没有更改,可以通过uf8加BOM的方式,本人没有去深入研究。(2)第2中简单的方式为,将encoding='utf8'改为encoding='gb18030',该编码应该同时修改了csv文件的编码方式(BOM)。

3

修改后的源码如下:#usr/bin/python3.4# -*- coding: utf-8 -*-import timeimport csvr_fo=open(r'E:/test.csv',mode='a',encoding='gb18030')string_temp='你,好,啊,!\n'r_fo.write(string_temp)          r_fo.close() print('job done!')通过该代码运行,乱码问题解决!

注意事项

这针对的是python3.4,其他的python3版本应该也使用。

推荐信息