python2写入文件乱码怎么解决?

python写入中文乱码的解决方法:

1、文件名有中文,文件名乱码 

当想要将程序运行结果保存到文本文件时,文本文件的命名中如果有中文,不做处理文件名会出现乱码。利用unicode函数进行编码可解决。

unicode(‘中文.csv’,’utf-8’)

2、文件内容有中文,excel打开内容乱码 

如果将包含中文的结果输出到csv文件,一般默认使用Excel打开文件时,文件内容会出现乱码,而使用文本编辑器打开不会乱码。

这是因为Excel默认的编码方式为‘GBK‘,而文本编辑器默认的格式为‘utf-8’。

使用codecs包在创建文件后添加语句f.write(codecs.BOM_UTF8)可解决。

name='语文'
f = open(name+'.csv','w')
f.write('123,语文')
f.close()
#修改编码
import codecs
f = open(**unicode(name+'.csv','utf-8')**,'w')  # 文件名不乱码
**f.write(codecs.BOM_UTF8)  # excel打开内容不乱码的核心语句**
f.write('123,语文')
f.close()

更多Python知识请关注云海天python教程网。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python2写入文件乱码怎么解决?