Xlwings - 使用循环删除类似命名的工作表

问题描述 投票:0回答:2

我正在使用xlwings将我从互联网上提取的股票数据放入工作表中。该工作簿以Sheet1打开,在运行我的程序时会根据股票指数创建各种工作表。这会留下Sheet1并导致我想要调用的其他方法出现问题。我想测试任何包含Sheet(加上一个整数)的工作表,然后将其删除,类似于使用in运算符测试列表元素是否存在的方式。我将如何在xlwings中执行此操作?当前xlwings方法仅允许删除手动命名的工作表。

我的尝试相当乏善可陈。我一直在尝试循环来识别工作表名称,但无济于事。这是我尝试这样做的。

import xlwings as xw

wb = xw.Book('practice.xlsx')
for sheet in wb.sheets:
    if 'Sheet' in sheet: 
        xw.Sheet[sheet].delete()
python excel xlwings
2个回答
1
投票

这有效:

import xlwings as xw

wb = xw.Book('practice.xlsx')
for sheet in wb.sheets:
    if 'Sheet' in sheet.name: 
        sheet.delete()

0
投票

语法更像是sheet.api.Delete()?我的xlwings现在被打破以检查确切的语法。

© www.soinside.com 2019 - 2024. All rights reserved.