首頁 >後端開發 >Python教學 >Python 解決中文寫入Excel時拋異常的問題

Python 解決中文寫入Excel時拋異常的問題

不言
不言原創
2018-05-03 13:39:552134瀏覽

以下為大家分享一篇Python 解決中文寫入Excel時拋異常的問題,具有很好的參考價值,希望對大家有幫助。一起來看看吧

近期接到業務部門需求,需將統計結果每日發送到業務部門,在調試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: &#39;ascii&#39; codec can&#39;t decode byte 0xe6 in position 0: ordinal not in range(128)

解決方法是,在建立workbook的時候設定字元集即可解決:

workbook = xlwt.Workbook(encoding = 'utf-8')

正常預設編碼是ascii,所以寫入中文解碼會拋異常,設定為utf-8就行。

相關推薦:

Python解決N階台階走法問題的方法

python解決Fedora解壓縮zip時中文亂碼的方法

以上是Python 解決中文寫入Excel時拋異常的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn