from openpyxl import Workbook
book = Workbook()
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这将创建 5 个工作表,其中第一个工作表是不需要的。
我知道我可以做到:
book = Workbook()
us_ws = book.active
us_ws.title = "IN"
for country in "US JP UK".split():
book.create_sheet(title=country)
有捷径吗?
最佳答案
来自 ( Docs )
A workbook is always created with at least one worksheet. You can get it by using the openpyxl.workbook.Workbook.active() property
所以如果你不需要默认工作表,你可以删除它:
from openpyxl import Workbook
book = Workbook()
book.remove(book.active)
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这会在创建所需工作表之前删除第一个工作表,这将是默认创建的工作表。
或者,正如评论中所指出的,如果您同意只写工作簿的注意事项,您可以:
from openpyxl import Workbook
book = Workbook(write_only=True)
for country in "IN US JP UK".split():
book.create_sheet(title=country )
关于python - 在内存 openpyxl 中创建空工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44404152/