【问题标题】:How to merge multiple sheets in a single workbook using Python when the first column is named differently across the workbook当第一列在工作簿中的名称不同时,如何使用 Python 在单个工作簿中合并多个工作表
【发布时间】:2020-05-27 03:01:59
【问题描述】:

我一直在使用another StackOverflow answer 中的以下代码将同一工作簿中多个 Excel 工作表中的数据连接到一张工作表中。

当工作簿中所有工作表的列名称一致时,这非常有用。但是,我遇到了一个特定工作簿的问题,其中只有第一列的名称不同(或根本没有命名......所以是空白的),但其余列是相同的。

如何合并这些工作表?有没有办法将每张工作表的第一列重命名为一个名称,以便我可以使用上面链接的答案中的步骤?

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    是的,您可以将所有列重命名为:

    # read excel
    dfs = pd.read_excel('tmp.xlsx', sheetname=None, ignore_index=True)
    
    # rename columns
    column_names = ['col1', 'col2', ...]
    for df in dfs.values(): df.columns = column_names
    
    # concat
    total_df = pd.concat(dfs.values())
    

    或者,您可以忽略read_excel 中的标题,以便将列标记为0,1,2,...:

    # read ignore header
    dfs = pd.read_excel('tmp.xlsx', sheet_name=None,
                        header=None, skiprows=1)
    
    total_df = pd.concat(dfs.values)
    
    # rename
    total_df.columns = column_names
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多