python 实现读取一个excel多个sheet表并合并的方法

  • Post category:Python

下面就来详细讲解一下“python实现读取一个excel多个sheet表并合并的方法”的完整实例教程,过程中将会包含两个示例说明。

准备工作

在进行本操作前,需要先安装Python的相关库——pandas和xlrd。在终端输入命令:

pip install pandas
pip install xlrd

安装完成后,就可以开始进行下一步操作了。

读取单个sheet

在Python中,使用pandas库可以读取Excel文件,具体代码如下:

import pandas as pd

# 读取Excel文件
excel_file = pd.ExcelFile('example.xlsx')

# 读取指定的sheet
sheet_name = 'Sheet1'
df = excel_file.parse(sheetname=sheet_name)

# 打印读取结果
print(df.head())

这段代码中,首先使用pd.ExcelFile函数读取Excel文件,然后使用parse函数读取指定的sheet,最后打印读取的结果。

合并多个sheet

要合并多个sheet,我们需要使用pandas.concat函数。下面是一个合并两个sheet的示例代码:

import pandas as pd

# 读取Excel文件
excel_file = pd.ExcelFile('example.xlsx')

# 读取所有的sheet表
all_dfs = []
for sheet_name in excel_file.sheet_names:
    df = pd.read_excel(excel_file, sheetname=sheet_name)
    all_dfs.append(df)

# 合并所有的sheet表
merged_df = pd.concat(all_dfs, axis=0)

# 打印合并结果
print(merged_df.head())

这段代码中,首先使用pd.ExcelFile函数读取Excel文件,然后使用循环读取所有的sheet表,并将它们存储在一个列表中。接着,使用pd.concat函数将所有的sheet表进行合并,并通过axis参数指定合并的方向。最后打印合并结果。

合并多个sheet并添加sheet名作为新列

要添加sheet名作为新列,我们需要在读取时为每个sheet表添加一个新的列,然后合并每个sheet表。

下面是一个合并三个sheet并添加sheet名作为新列的示例代码:

import pandas as pd

# 读取Excel文件
excel_file = pd.ExcelFile('example.xlsx')

# 读取所有的sheet表并添加sheet名作为新列
all_dfs = []
for sheet_name in excel_file.sheet_names:
    df = pd.read_excel(excel_file, sheetname=sheet_name)
    df['sheet_name'] = sheet_name
    all_dfs.append(df)

# 合并所有的sheet表
merged_df = pd.concat(all_dfs, axis=0)

# 打印合并结果
print(merged_df.head())

这段代码中,首先使用pd.ExcelFile函数读取Excel文件,然后使用循环读取所有的sheet表,并使用df['sheet_name'] = sheet_name为每个sheet表添加一个新的列sheet_name,以存储sheet名。接着,使用pd.concat函数将所有的sheet表进行合并,并通过axis参数指定合并的方向。最后打印合并结果。

以上就是“python实现读取一个excel多个sheet表并合并的方法”的完整实例教程,希望对您有所帮助。