繁体   English   中英

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM