您好,登錄后才能下訂單哦!
近期接到業務部門需求,需將統計結果每日發送到業務部門,在調試python腳本的時候,導出的Excel標題為中文,總是拋出以下異常
Traceback (most recent call last): File "totalpx.py", line 99, in <module> export() File "totalpx.py", line 54, in export workbook.save(out_path) File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/Workbook.py", line 710, in save 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", line 674, in get_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", line 636, in __sst_rec return self.__sst.get_biff_record() File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py", line 77, in get_biff_record self._add_to_sst(s) File "/usr/lib/python2.7/site-packages/xlwt-1.2.0-py2.7.egg/xlwt/BIFFRecords.py", line 92, 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", line 50, in upack2 us = unicode(s, encoding) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
解決方法是,在創建workbook的時候設置字符集即可解決:
workbook = xlwt.Workbook(encoding = 'utf-8')
正常默認編碼是ascii,所以寫入中文解碼會拋異常,設置為utf-8就行。
以上這篇Python 解決中文寫入Excel時拋異常的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。