python输出excel能够识别的utf-8格式csv文件

http://blog.csdn.net/azhao_dn/article/details/16989777

       可能大家都遇到过,python在输出的csv文件中如果有utf-8格式的中文,那么在使用excel打开该csv文件时,excel将不能够有效识别 出文件中的中文数据,严重时甚至不能够识别出分隔符。那么,要怎样操作才能够让excel识别出utf-8格式的中文呢?方法其实很简单,见以下代码:

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. import codecs  
  2.   
  3. with open('ExcelUtf8.csv', 'w') as f:  
  4.     t = u'中国人'  
  5.     f.write(codecs.BOM_UTF8)  
  6.     f.write('%s,1,3 ' % t.encode('utf-8'))  

       运行代码,使用excel打开,截图如下:


       如果我们屏蔽掉其中的一句代码

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. import codecs  
  2.   
  3. with open('ExcelUtf8.csv', 'w') as f:  
  4.     t = u'中国人'  
  5.     #f.write(codecs.BOM_UTF8)  
  6.     f.write('%s,1,3 ' % t.encode('utf-8'))  

      再次运行代码,使用excel打开,截图如下:

      其中具体的原理,大家可以去百度:BOM了

原文地址:https://www.cnblogs.com/kungfupanda/p/5202647.html