📅  最后修改于: 2023-12-03 15:09:34.408000             🧑  作者: Mango
在实际的数据分析和处理中,经常会遇到需要将多个 Excel 文件中的数据合并到一个数据框中的情况。本文介绍如何使用 Python 语言实现这一操作。
我们需要使用 pandas 和 os 两个库来操作 Excel 文件。
import pandas as pd
import os
我们可以使用 pandas 库中的 read_excel 方法来读取 Excel 文件中的数据。如果需要读取多个工作表,可以使用 sheet_name 参数来指定要读取的工作表名称。以下是示例代码:
df = pd.read_excel('filename.xlsx', sheet_name='sheetname')
如果要读取多个工作表,则可以将 sheet_name 参数设置为 None,然后使用 keys 参数来指定需要读取的工作表名称。以下是示例代码:
dfs = pd.read_excel('filename.xlsx', sheet_name=None, keys=['sheet1', 'sheet2'])
这将返回一个字典对象,其中每个工作表的名称是键,每个数据框对象是值。
一旦我们读取了所有的 Excel 文件和工作表中的数据,我们就可以将它们合并到一个数据框中。使用 pandas 库中的 concat 方法来实现。以下是示例代码:
df = pd.concat([df1, df2, df3], axis=0, ignore_index=True)
其中,参数 axis=0 表示沿着行方向进行连接,ignore_index=True 表示重新索引数据框。
我们可以使用 os 库中的 listdir 方法来获取一个目录中的所有文件名。然后,我们可以使用循环遍历目录中的所有 Excel 文件,并逐个读取其中的工作表。最后,我们将所有工作表合并到一个数据框中。
以下是示例代码:
folder_path = 'path/to/folder'
file_list = os.listdir(folder_path)
dfs = []
for file_name in file_list:
if file_name.endswith('.xlsx'):
file_path = folder_path + '/' + file_name
temp_dfs = pd.read_excel(file_path, sheet_name=None)
dfs.append(pd.concat(temp_dfs.values()))
df = pd.concat(dfs, axis=0, ignore_index=True)
如此,我们就可以使用 Python 将多个 Excel 文件中的多个工作表合并到一个数据框中了。这种方法非常适用于需要批量处理多个数据表格并进行分析的场景。