from openpyxl import Workbook
book = Workbook()
for country in "IN US JP UK".split():
book.create_sheet(title=country)
Run Code Online (Sandbox Code Playgroud)
这将创建5张纸,而第一张纸是不需要的。
我知道我可以这样做:
book = Workbook()
us_ws = book.active
us_ws.title = "IN"
for country in "US JP UK".split():
book.create_sheet(title=country)
Run Code Online (Sandbox Code Playgroud)
有捷径吗?
从(文档)
始终使用至少一个工作表创建一个工作簿。您可以使用openpyxl.workbook.Workbook.active()属性获取它
因此,如果不需要默认工作表,则可以将其删除:
from openpyxl import Workbook
book = Workbook()
book.remove(book.active)
for country in "IN US JP UK".split():
book.create_sheet(title=country)
Run Code Online (Sandbox Code Playgroud)
在创建所需的图纸之前,这将删除第一张图纸,这将是默认创建的图纸。
或者,如注释中所指出的,如果您对只写工作簿的警告表示满意,则可以执行以下操作:
from openpyxl import Workbook
book = Workbook(write_only=True)
for country in "IN US JP UK".split():
book.create_sheet(title=country )
Run Code Online (Sandbox Code Playgroud)