好吧,这实际上是一个解决我的主要问题的方法,那就是“忽略工作簿中的空工作表”。我找到了一种只打印那些不是空的表名的方法。所以,现在我想将这些名称传递到我的工作簿中,只访问那些工作表,而不是wb
中的每一个工作表。(我需要使用openpyxl
)
我正在尝试以下方法,但不起作用:
wb = openpyxl.load_workbook("source_file.xlsx", data_only=TRUE)
for ws in wb.get_sheet_by_name(['Sheet1', 'Sheet2', 'Sheet4', 'Sheet5']):
for row in ws:
<do the necessary parsing operations here>
但这会引发以下错误:
"Worksheet ['Sheet1', 'Sheet2', 'Sheet4', 'Sheet5'] does not exist."
如果我把名字分开传递,它会说:
TypeError: get_sheet_by_name() takes 2 positional arguments but 5 were given
有没有办法让它只访问特定的工作表而不是wb
中的每个工作表?或者更好,在分析.xlsx
工作簿时是否可以忽略所有空工作表?你知道吗
可以将工作表名称存储在列表中,然后遍历该列表以打开每个工作表:
请注意,只需使用
wb[sheetname]
从工作簿wb
访问工作表即可。get_sheet_by_name()
已弃用。参见official documentation。你知道吗相关问题 更多 >
编程相关推荐