我只是想确认一下,我使用David给出的答案来解决这个问题。下面是一个示例,其中有一个包含40多张表的电子表格(工作簿),需要将其拆分为自己的工作簿。我复制了除了一张纸之外的所有主工作簿,并保存到新的电子表格中:
from xlrd import open_workbook
from xlutils import copy
workbook = open_workbook(filepath)
# Process each sheet
for sheet in workbook.sheets():
# Make a copy of the master worksheet
new_workbook = copy.copy(workbook)
# for each time we copy the master workbook, remove all sheets except
# for the curren sheet (as defined by sheet.name)
new_workbook._Workbook__worksheets = [ worksheet for worksheet in new_workbook._Workbook__worksheets if worksheet.name == sheet.name ]
# Save the new_workbook based on sheet.name
new_workbook.save('{}_workbook.xls'.format(sheet.name))