写一个通过循环相同的列名合并多个Excel数据的代码
时间: 2023-06-07 08:06:52 浏览: 87
好的,以下是符合您要求的代码片段:
```python
import pandas as pd
# 只需修改以下变量即可应用于不同Excel数据的合并
folder_path = "./data/" # 存放Excel文件的文件夹路径
output_file_name = "merged_data.csv" # 合并后的输出文件名
columns_to_merge_by = ["Name", "City"] # 用于合并的列名
# 获取文件夹下的所有Excel文件,并读取每个文件中的数据
file_names = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]
data_frames = []
for file_name in file_names:
file_path = folder_path + file_name
data_frame = pd.read_excel(file_path)
data_frames.append(data_frame)
# 将所有数据通过指定列名合并
merged_data = pd.concat(data_frames, ignore_index=True)
merged_data = merged_data.groupby(columns_to_merge_by).sum().reset_index()
# 将合并后的数据保存为CSV文件
merged_data.to_csv(output_file_name, index=False)
```
以上代码中,我们首先通过 `folder_path` 变量指定存放Excel文件的文件夹路径;通过 `output_file_name` 变量指定合并后的输出文件名;通过 `columns_to_merge_by` 变量指定需要合并的列名。
接着,我们根据 `file_names` 变量中指定的Excel文件名,逐个读取每个文件的数据,并将它们存储到 `data_frames` 列表中。
接下来,我们使用 `pd.concat()` 函数将所有数据通过 `columns_to_merge_by` 列名的合并,并使用 `.groupby()` 函数对其进行分组求和。最终,我们使用 `.to_csv()` 方法将合并后的数据保存为CSV文件。
希望以上代码能够满足您的需求,如有任何问题欢迎随时提问!
阅读全文