导出特定Sheet,并保存不同文件openpyxl

Raz*_*zel 3 python excel openpyxl

我正在尝试从 Excel 文件导出特定工作表,但没有结果。我想将一张特定的纸导出到一个全新的文件我写的是:

import openpyxl
book = openpyxl.load_workbook('C:\Python\test.xlsx')
a = (book.get_sheet_names())
sheet1 = book[a[5]]
sheet1.save('C:\Python\sheet2.xlsx')
Run Code Online (Sandbox Code Playgroud)

另外,我不能做的另一件事是,如果我有某张纸的名字,就寻找它。

如果问题很简单,我很抱歉,但自从我开始使用 python 以来已经有几天了:)

flo*_*urr 7

嗯,openpyxl确实提供了copy_worksheet(),但它不能在不同的工作簿之间使用。您可以逐个单元格复制工作表,也可以修改内存中的起始工作簿,然后使用不同的文件名保存它。这是代码

import openpyxl

# your starting wb with 2 Sheets: Sheet1 and Sheet2
wb = openpyxl.load_workbook('test.xlsx')

sheets = wb.sheetnames # ['Sheet1', 'Sheet2']

for s in sheets:

    if s != 'Sheet2':
        sheet_name = wb.get_sheet_by_name(s)
        wb.remove_sheet(sheet_name)

# your final wb with just Sheet1
wb.save('test_with_just_sheet2.xlsx')
Run Code Online (Sandbox Code Playgroud)