优草派  >   Python

python写入文件乱码怎么解决?两种解决情况

陈立鑫            来源:优草派

有许多小伙伴在使用python学习的时候发现自己写入中文名文件名的文件会出现乱码,这让很多人找不着解决办法,下面就让我来告诉大家一个非常简便的解决方法。

python写入文件乱码怎么解决?两种解决情况

如果遇见Python中写入中文名的文件乱码的解决方法:

第一种情况:文件名有中文,文件名乱码 

解决办法:如果我们想要将程序运行的结果储存到文本文件时,只要文本文件的命名有中文,那么不做处理文件名会出现乱码。这个时候我们怎么办呢?利用unicode函数进行编码可解决。

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

第二种情况:如果文件内容有中文,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()
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行