想要用 Python 合并一个文件夹中的所有 Excel 文件,可以分以下几个步骤实现:
- 导入所需的库
我们需要首先导入 pandas 和 os 两个库,pandas 库用于数据处理,而 os 库用于操作文件和目录。
import pandas as pd
import os
- 获取文件夹路径
我们需要获取要处理的 Excel 文件所在的文件夹路径。你可以手动输入也可以通过代码自动获取。
folder_path = r'C:\data\excel_files'
- 遍历文件夹
通过 os 库提供的遍历方法,我们可以获取指定目录下的所有 Excel 文件。
file_names = os.listdir(folder_path)
excel_files = [f for f in file_names if f.endswith('.xlsx') or f.endswith('.xls')]
- 读取 Excel 文件
使用 pandas 库来读取 Excel 文件,可以使用 pandas.read_excel 方法。将读取的 Excel 文件存储在 DataFrame 中。
all_data = pd.DataFrame()
for file in excel_files:
df = pd.read_excel(os.path.join(folder_path, file))
all_data = all_data.append(df, ignore_index=True)
- 合并 Excel 文件
通过 DataFrame 的 concat 方法,我们可以将所有读取的 Excel 文件合并成一个数据框。
merged_data = pd.concat([df1, df2, df3, ...], ignore_index=True)
此时,我们已经通过 Python 合并了一个文件夹中的所有 Excel 文件,数据存储在 merged_data 数据框中。最后,你可以将合并后的数据保存成一个新的 Excel 文件。
merged_data.to_excel('merged_data.xlsx', index=False)
完整代码如下:
import pandas as pd
import os
folder_path = r'C:\data\excel_files'
file_names = os.listdir(folder_path)
excel_files = [f for f in file_names if f.endswith('.xlsx') or f.endswith('.xls')]
all_data = pd.DataFrame()
for file in excel_files:
df = pd.read_excel(os.path.join(folder_path, file))
all_data = all_data.append(df, ignore_index=True)
all_data.to_excel('merged_data.xlsx', index=False)
希望这能帮到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用Python合并一个文件夹中的所有excel文件 - Python技术站