1

我有一个 excel 文件 (.xls),其中有多个工作表的标题,我想使用 pandas 重命名然后重新保存文档。这是我目前正在尝试的:

def read_File():
   file = 'TheFile.xls'
   xls = pd.read_excel(file)
   xls.rename(columns = {'aa': 'A','Aa':'A', 'bb':'B'}, inplace =True)
   xls.to_excel(file, index = False)

我认为这部分工作,但保存的文件只保留了第一个工作表,我如何让它适用于整个工作簿?

我不确定我是否遗漏了一些明显的东西,并且有一种更简单的方法可以实现我想要的,任何帮助将不胜感激。

谢谢

4

1 回答 1

1

根据pd.read_excel方法的 Pandas 文档,您可以指定sheet_name = None并取回数据框的字典(每张纸一个)。

你可以这样尝试:

from pandas import ExcelWriter

def read_File():
    file = "TheFile.xls"
    sheets = pd.read_excel(file, sheet_name=None)
    with ExcelWriter(file) as writer:
        for name, sheet in sheets.items():
            sheet.rename(columns={"aa": "A", "Aa": "A", "bb": "B"}, inplace=True)
            sheet.to_excel(excel_writer=writer, sheet_name=name, index=False)
        writer.save()
于 2021-07-03T15:52:32.157 回答