将多个Excel工作表合并到一个Pandas数据框中可以分为三个步骤:读取Excel文件、合并数据、输出到文件。
读取Excel文件
使用Pandas的read_excel函数可以读取一个或多个Excel文件,同时也支持读取Excel文件中的具体工作表。以下是读取单个Excel文件中所有工作表的示例代码:
import pandas as pd
# 读取Excel文件中的所有工作表
file_path = 'data.xlsx'
sheets = pd.read_excel(file_path, sheet_name=None)
read_excel函数的sheet_name参数可以选择读取指定的工作表,例如:
# 读取Excel文件中的特定工作表
file_path = 'data.xlsx'
sheet_name = 'Sheet1'
data = pd.read_excel(file_path, sheet_name=sheet_name)
合并数据
读取Excel文件后,我们需要将读取到的数据合并到一个数据框中。可以使用Pandas的concat函数将多个数据框沿着指定的轴合并,例如:
import pandas as pd
# 读取Excel文件中的所有工作表
file_path = 'data.xlsx'
sheets = pd.read_excel(file_path, sheet_name=None)
# 将所有工作表的数据合并到一个数据框中
data = pd.concat(sheets.values(), ignore_index=True)
concat函数的参数说明:
sheets.values()
:获取读取到的所有工作表的值作为一个列表。ignore_index=True
:合并后的数据框重新索引,忽略原来的行索引。
输出到文件
最后,我们可以使用Pandas的to_excel函数将合并后的数据输出到一个Excel文件中。例如:
import pandas as pd
# 输出到Excel文件
output_path = 'merged.xlsx'
data.to_excel(output_path, index=False)
to_excel函数的参数说明:
output_path
:输出文件的路径和文件名。index=False
:不输出行索引到Excel文件中。
完整的示例代码:
import pandas as pd
# 读取Excel文件中的所有工作表
file_path = 'data.xlsx'
sheets = pd.read_excel(file_path, sheet_name=None)
# 将所有工作表的数据合并到一个数据框中
data = pd.concat(sheets.values(), ignore_index=True)
# 输出到Excel文件
output_path = 'merged.xlsx'
data.to_excel(output_path, index=False)
此时,我们就将多个Excel工作表合并到一个Pandas数据框中,并将合并后的数据输出到一个Excel文件中。