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

时间:2018-06-16 14:43:40

标签: python excel xlwings

我正在使用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()

2 个答案:

答案 0 :(得分:1)

这有效:

import xlwings as xw

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

答案 1 :(得分:0)

语法是否更像sheet.api.Delete()?我的xlwings现在坏了,无法检查确切的语法。