Python 解决中文写入Excel时抛异常的问题


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇Python 解决中文写入Excel时抛异常的问题,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

近期接到业务部门需求,需将统计结果每日发送到业务部门,在调试python脚本的时候,导出的Excel标题为中文,总是抛出以下异常

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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解决N阶台阶走法问题的方法

python解决Fedora解压zip时中文乱码的方法

以上就是Python 解决中文写入Excel时抛异常的问题的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python学哪个web框架好?2019 Python web框架排行

Python的numpy库中将矩阵转换为列表等函数的方法_Python

Python中if语句与while语句的简单介绍(附示例)

Python的join怎么用

Python具体做些什么

Python中is 和 ==的详细解析(附代码)

Python全栈工程师是干什么的

Python2和Python3哪个版本新

简要概括Python if多条件判断语句的特点

Python面向对象之访问限制

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...