如何解决xlrd读取excel时的中文异常

来源:互联网 发布:电子书制作软件哪个好 编辑:程序博客网 时间:2024/05/14 17:15


原文出处:http://openexz.sinaapp.com/2010/07/26/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3xlrd%E8%AF%BB%E5%8F%96excel%E6%97%B6%E7%9A%84%E4%B8%AD%E6%96%87%E5%BC%82%E5%B8%B8/


如何解决xlrd读取excel时的中文异常

异常出现的代码:

office创建出的文件中如果有中文的sheet_name,则xlrd会出现错误。从异常信息看出,问题出在了编码上,也就是xlrd会有一个默认的处理编码。

跟了一会代码就发现,open_workbook实际是创建了一个Book,然后Book中读取sheets信息,而编码设置就在Book的一个静态变量encoding中。于是代码可以写成这样子:

1
2
3
4
5
6
7
8
9
10
# 设置GBK编码
xlrd.Book.encoding= "gbk"
# 打开excel
book= xlrd.open_workbook(filename)
# 判断sheet个数
ifbook.nsheets<=0:
    returnFalse
# 对第一个sheet做读取
sh= book.sheet_by_index(0)
# ... ...

0 0
原创粉丝点击