在内存 openpyxl 中创建空工作簿
create empty workbook in memory openpyxl
from openpyxl import Workbook
book = Workbook()
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这会创建 5 个 sheet,第一个 sheet 是不需要的。
我知道我可以做到:
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
所以如果你不需要默认的sheet,你可以删除它:
from openpyxl import Workbook
book = Workbook()
book.remove(book.active)
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这将删除第一个 sheet,这将是默认创建的 sheet,然后再创建所需的 sheet。
或者,正如评论中所指出的,如果您同意只写工作簿的注意事项,您可以这样做:
from openpyxl import Workbook
book = Workbook(write_only=True)
for country in "IN US JP UK".split():
book.create_sheet(title=country )
根据@CharlieClark
的建议,这是解决方案
from openpyxl import Workbook
book = Workbook(write_only=True)
for cc in "IN US JP UK".split():
book.create_sheet(title=cc)
from openpyxl import Workbook
book = Workbook()
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这会创建 5 个 sheet,第一个 sheet 是不需要的。
我知道我可以做到:
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
所以如果你不需要默认的sheet,你可以删除它:
from openpyxl import Workbook
book = Workbook()
book.remove(book.active)
for country in "IN US JP UK".split():
book.create_sheet(title=country)
这将删除第一个 sheet,这将是默认创建的 sheet,然后再创建所需的 sheet。
或者,正如评论中所指出的,如果您同意只写工作簿的注意事项,您可以这样做:
from openpyxl import Workbook
book = Workbook(write_only=True)
for country in "IN US JP UK".split():
book.create_sheet(title=country )
根据@CharlieClark
的建议,这是解决方案from openpyxl import Workbook
book = Workbook(write_only=True)
for cc in "IN US JP UK".split():
book.create_sheet(title=cc)