Python 将Excel工作簿拆分为多个Excel文件

Python 将Excel工作簿拆分为多个Excel文件,python,pandas,Python,Pandas,我有一本excel工作簿,里面有29张不同的表格。我使用以下代码将每张工作表保存为一个单独的excel文件: from xlrd import open_workbook from xlwt import Workbook rb = open_workbook('c:\\original file.xls',formatting_info=True) for a in range(5): #for example there're only 5 tabs/sheets rs = rb

我有一本excel工作簿,里面有29张不同的表格。我使用以下代码将每张工作表保存为一个单独的excel文件:

from xlrd import open_workbook
from xlwt import Workbook

rb = open_workbook('c:\\original file.xls',formatting_info=True)

for a in range(5): #for example there're only 5 tabs/sheets
    rs = rb.sheet_by_index(a)

    new_book = Workbook()
    new_sheet = new_book.add_sheet('Sheet 1')

    for row in range(rs.nrows):
        for col in range(rs.ncols):
            new_sheet.write(row, col, rs.cell(row, col).value)

    new_book.save("c:\\" + str(a) + ".xls")
我从以下位置获得此代码:。它工作得很好,但有没有一种方法可以通过工作表名保存工作簿。因此,图纸名称应该是文件的名称。我试着换了

new_book.save("c:\\" + str(a) + ".xls")

但它不起作用

您可以将pandas与pd.ExcelFile一起使用,并将整个工作簿作为字典阅读

import pandas as pd

xl = pd.ExcelFile('c:\\original file.xls')


for sheet in xl.sheet_names:
    df = pd.read_excel(xl,sheet_name=sheet)
    df.to_excel(f"{sheet}.xls",index=False)

如果我没有在df_to_excel上指定,它应该保存在哪里?它保存到脚本的路径中,您可以通过在
{sheet}
@TamarieWorked perfect之前附加它来更改它。
import pandas as pd

xl = pd.ExcelFile('c:\\original file.xls')


for sheet in xl.sheet_names:
    df = pd.read_excel(xl,sheet_name=sheet)
    df.to_excel(f"{sheet}.xls",index=False)