【DeprecationWarning】openpyxl遍历所有sheet遇到【'list' object is not callable】

记录一下今天运用openpyxl库操作Excel的小坑。。。(老实鬼:MMP,这分明是一个智障的错误)

我的目的:遍历一个工作簿的所有sheet,并且逐个打印出来。本人新手小白,但是有需求不会,就找度娘。百度了一篇博文:

python读取excel文件中所有sheet表格:openpyxl模块(二)

https://blog.csdn.net/sqlserverdiscovery/article/details/53572519

参考的代码:

import openpyxl
 
wb = openpyxl.load_workbook('e:\\t.xlsx')
 
#获取workbook中所有的表格
sheets = wb.get_sheet_names()
 
print(sheets)
 
#循环遍历所有sheet
for i in range(len(sheets)):
    sheet= wb.get_sheet_by_name(sheets[i])
    
    print('\n\n第'+str(i+1)+'个sheet: ' + sheet.title+'->>>')
有了渔具,那就开始丰衣足食,自给自足,

我的代码:

from openpyxl import load_workbook
wb = load_workbook('最终汇总2.xlsx')
sheets = wb.get_sheet_names()
for i,sheet in enumerate(sheets,1):
    print(i,sheet)
代码没报错,但是给了一个围巾警告【DeprecationWarning】:

DeprecationWarning: Call to deprecated function get_sheet_names
(Use wb.sheetnames).
  sheets = wb.get_sheet_names()
由于从小养成不违反【警告类提示】(比如警告:水浅,禁止游泳!别问我为什么水浅不能游泳,我tm怎么知道做这个警示牌的人脑子里装的是哪个水?)。然后我就屁颠屁颠的把wb.get_sheet_names()给成了wb.sheetnames(),结果给老子报错:

    sheets = wb.sheetnames()
TypeError: 'list' object is not callable
然后又搜了很多篇stackflowover的问题回答,还是没有解决,无奈只能翻了翻openpyxl的官方文档

MMP,原来我多了一个括号。。。把wb.sheetnames()的括号去掉就OK了,没毛病老铁。
 

发布了13 篇原创文章 · 获赞 316 · 访问量 106万+

猜你喜欢

转载自blog.csdn.net/u012252959/article/details/88708225
今日推荐