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)
有没有捷径?
答案 0 :(得分:4)
来自(Docs)
始终使用至少一个工作表创建工作簿。您可以使用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)
在创建所需的工作表之前,这将删除第一张工作表,该工作表将是默认创建的工作表。
或者,正如评论中指出的那样,如果您对可写入工作簿的注意事项没有问题,那么您可以这样做:
from openpyxl import Workbook
book = Workbook(write_only=True)
for country in "IN US JP UK".split():
book.create_sheet(title=country )
答案 1 :(得分:0)
根据@CharlieClark
的建议,这是解决方案from openpyxl import Workbook
book = Workbook(write_only=True)
for cc in "IN US JP UK".split():
book.create_sheet(title=cc)