下面就来详细讲解一下“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表并合并的方法”的完整实例教程,希望对您有所帮助。