Python调用get_sheet_by_name报错及get_sheet_names弃用警告求助
解决你的Python Excel操作问题
嘿,我来帮你搞定这两个头疼的问题!咱们一个一个来:
一、消除DeprecationWarning警告
那个警告是因为你用的get_sheet_names()方法已经被官方弃用啦,现在推荐直接访问wb.sheetnames属性(注意是属性,不用加括号哦)。
举个例子,原来的代码:
sheet_names = wb.get_sheet_names()
直接改成:
sheet_names = wb.sheetnames
这样运行就不会再弹出那个烦人的警告了,而且wb.sheetnames会直接返回一个包含所有工作表名称的列表,和你之前看到的['Sheet1', 'Sheet2', 'Sheet3']效果完全一样。
二、修复get_sheet_by_name()调用错误
大概率是因为这个方法也被弃用或者移除了(比如在openpyxl 2.4及以上版本里,官方已经移除了这个方法)。现在获取指定工作表的正确方式是用字典式访问,就像这样:
原来的错误代码:
sheet = wb.get_sheet_by_name('Sheet1')
替换成:
sheet = wb['Sheet1']
这种方式不仅更简洁,也是当前Excel操作库(比如openpyxl)官方推荐的标准用法。如果还是有问题,你可以检查一下工作表名称是否拼写正确,或者确认一下你加载的工作簿里确实存在这个工作表哦。
内容的提问来源于stack exchange,提问作者Doug C
相关产品推荐
相关产品推荐

