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

來源:互聯網
上載者:User
下面為大家分享一篇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: '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就行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.