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


原文出处: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个数
if book . nsheets <= 0 :
     return False
# 对第一个sheet做读取
sh = book . sheet_by_index ( 0 )
# ... ...

你可能感兴趣的:(Python)