python通过xlwt模块写数据到excel出现UnicodeDecodeError

这两天学习Python爬取网页数据,遇到最棘手的问题就是各种编码问题,其他先不说,先来说说怎么解决python写数据到excel出现的编码问题

此问题适用于error:


我的问题代码 :               

            row0=['ISSN','期刊名','影响因子','大类学科','小类学科','SCI/SCIE','录用比','审稿周期','查看数'] 
            f=xlwt.Workbook()
          sheet1=f.add_sheet('sheet2',cell_overwrite_ok=True)
          for i in range(0,9):
        	sheet1.write(0,i,row0[i])     #问题所在  
   	    f.save('demo1.xls')
解决方案:在需要写入的数据后面加上  '.decode('GB2312') '

            sheet1.write(0,i,row0[i].decode('GB2312'))
添加后即可成功写到excel

问题猜想:我一开始指定了我的编辑器为utf-8编码,如下

             

	# _*_ coding:utf-8 _*_
	#GVIM 添加汉字注释

	import sys
	reload(sys)
	sys.setdefaultencoding('utf-8')
	#以上定义字符集 使得代码可用汉字

  而excel为gbk编码,所以写入到excel需要解码为gbk格式,而文本文件和cmd输出utf-8编码就支持的,不需要解码

下面放几个关于编码解码的文章供参考:

http://www.cnblogs.com/evening/archive/2012/04/19/2457440.html  点击打开链接




   

你可能感兴趣的:(python通过xlwt模块写数据到excel出现UnicodeDecodeError)