在内存openpyxl中创建空工作簿

时间:2017-06-07 05:24:17

标签: python openpyxl

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)

有没有捷径?

2 个答案:

答案 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)
相关问题