http://blog.csdn.net/azhao_dn/article/details/16989777
可能大家都遇到過,python在輸出的csv文件中如果有utf-8格式的中文,那么在使用excel打開該csv文件時,excel將不能夠有效識別 出文件中的中文數據,嚴重時甚至不能夠識別出分隔符。那么,要怎樣操作才能夠讓excel識別出utf-8格式的中文呢?方法其實很簡單,見以下代碼:
- import codecs
- with open('ExcelUtf8.csv', 'w') as f:
- t = u'中國人'
- f.write(codecs.BOM_UTF8)
- f.write('%s,1,3\n' % t.encode('utf-8'))
運行代碼,使用excel打開,截圖如下:
如果我們屏蔽掉其中的一句代碼
- import codecs
- with open('ExcelUtf8.csv', 'w') as f:
- t = u'中國人'
- #f.write(codecs.BOM_UTF8)
- f.write('%s,1,3\n' % t.encode('utf-8'))
再次運行代碼,使用excel打開,截圖如下:
其中具體的原理,大家可以去百度:BOM了