繁体   English   中英

当第一列在工作簿中的名称不同时,如何使用 Python 在单个工作簿中合并多个工作表

[英]How to merge multiple sheets in a single workbook using Python when the first column is named differently across the workbook

我一直在使用来自另一个 StackOverflow 答案的以下代码将同一工作簿中多个 excel 工作表中的数据连接到一张工作表中。

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

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

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

# 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 中的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

暂无
暂无

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

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