所以我遇到了一个关于openpxyl的问题,我找不到答案。当我运行以下代码时:
import openpyxl
wb = openpyxl.Workbook()
ws = wb.create_sheet("Sheet2")
wb.get_sheet_names()
['Sheet','Sheet2']
wb.remove_sheet('Sheet')
我得到以下错误:
ValueError: list.remove(x): x not in list
它不起作用,即使我尝试wb.remove_sheet(0)
或wb.remove_sheet(1)
,我也会得到相同的错误。我有什么遗漏吗?
remove.sheet()
给定的是一个sheet对象,而不是sheet的名称!为了你的代码你可以试试
同样,remove_sheet也没有给定索引,因为它对实际的sheet对象进行操作。
这里有一个good source的例子(虽然这不是你所面临的问题,但它恰好显示了如何正确调用remove撸sheet方法)!
不推荐警告:调用不推荐的函数get_sheet_by_name(使用wb[sheetname])。
自从这个问题被发布和回答之后,Openpyxl库就发生了变化。
您不应该使用
wb.remove(wb.get_sheet_by_name(sheet))
,如@cosinepenguin所示,因为它现在已贬值(尝试使用时会收到警告),但是wb.remove(wb[sheet])
相关问题 更多 >
编程相关推荐