使用 Python 中的 Pandas 重命名多个工作表中的列 (XLS)

Using Pandas in Python to rename columns across multiple sheets (XLS)

我有一个 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)

我认为这是部分工作,但保存的文件只保留了第一个工作表,我如何才能使整个工作簿工作?

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

谢谢

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

你可以这样试试:

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()