Python 解决中文写入Excel时抛异常的问题
近期接到业务部门需求,需将统计结果每日发送到业务部门,在调试python脚本的时候,导出的Excel标题为中文,总是抛出以下异常
Traceback(mostrecentcalllast): File"totalpx.py",line99,inexport() File"totalpx.py",line54,inexport workbook.save(out_path) File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py",line710,insave doc.save(filename_or_stream,self.get_biff_data()) File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py",line674,inget_biff_data shared_str_table=self.__sst_rec() File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py",line636,in__sst_rec returnself.__sst.get_biff_record() File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py",line77,inget_biff_record self._add_to_sst(s) File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py",line92,in_add_to_sst u_str=upack2(s,self.encoding) File"/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/UnicodeUtils.py",line50,inupack2 us=unicode(s,encoding) UnicodeDecodeError:'ascii'codeccan'tdecodebyte0xe6inposition0:ordinalnotinrange(128)
解决方法是,在创建workbook的时候设置字符集即可解决:
workbook=xlwt.Workbook(encoding='utf-8')
正常默认编码是ascii,所以写入中文解码会抛异常,设置为utf-8就行。
以上这篇Python解决中文写入Excel时抛异常的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。