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