【问题标题】:Using Pandas in Python to rename columns across multiple sheets (XLS)在 Python 中使用 Pandas 跨多个工作表重命名列 (XLS)
【发布时间】:2021-09-15 01:02:02
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: python excel pandas google-sheets rename


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-27
      • 2016-02-28
      • 2020-07-18
      • 2021-08-23
      • 2019-12-17
      • 2020-11-02
      • 1970-01-01
      • 2019-07-21
      相关资源
      最近更新 更多