Python将同一路径下的excel表格合并为一个表格
时间: 2024-03-18 16:39:37 浏览: 75
同样可以使用pandas库来实现将同一路径下的多个Excel表格合并为一个表格。以下是一个示例代码:
```python
import os
import pandas as pd
# 获取当前工作目录下所有Excel文件
files = [file for file in os.listdir() if file.endswith('.xlsx')]
# 读取所有Excel文件并合并表格
dfs = [pd.read_excel(file) for file in files]
merged_df = pd.concat(dfs)
# 将结果保存为一个Excel表格
merged_df.to_excel('merged.xlsx', index=False)
```
这个示例代码会将当前工作目录下所有扩展名为`.xlsx`的Excel表格读取并合并为一个表格,并将合并结果保存为一个名为`merged.xlsx`的Excel表格。你可以根据实际情况修改文件名和路径。
相关问题
Python写一个函数将同一路径下的excel表格合并为一个表格
可以将上面的代码封装成一个函数,实现将同一路径下的多个Excel表格合并为一个表格。以下是一个示例代码:
```python
import os
import pandas as pd
def merge_excel_files(path):
# 获取指定路径下所有Excel文件
files = [os.path.join(path, file) for file in os.listdir(path) if file.endswith('.xlsx')]
# 读取所有Excel文件并合并表格
dfs = [pd.read_excel(file) for file in files]
merged_df = pd.concat(dfs)
# 将结果保存为一个Excel表格
merged_df.to_excel(os.path.join(path, 'merged.xlsx'), index=False)
```
这个示例代码将上面的过程封装成了一个名为`merge_excel_files`的函数,该函数接收一个参数`path`,表示Excel文件所在的路径。函数会获取指定路径下所有扩展名为`.xlsx`的Excel表格,并将它们读取并合并为一个表格。最后将合并结果保存为一个名为`merged.xlsx`的Excel表格,保存在指定路径下。你可以根据实际情况修改文件名和路径。
python excel数据合并
### 使用Python合并多个Excel文件的数据
为了实现这一目标,可以采用`pandas`库来处理和合并来自不同Excel文件的数据。下面是一个完整的流程展示,包括获取文件列表、读取各个文件以及最终将它们合并。
#### 准备工作:导入必要的库
```python
import os
import pandas as pd
from pathlib import Path
```
#### 获取指定目录下的所有Excel文件路径
假设所有的待合并Excel文件位于同一文件夹内,则可以通过遍历该文件夹获得这些文件的绝对路径。
```python
folder_path = r"path/to/folder" # 替换为实际存放Excel文件的文件夹位置
file_paths = list(Path(folder_path).glob('*.xlsx'))
# glob返回的是一个迭代器,这里转换成list方便后续操作; *.xlsx表示只找扩展名为xlsx的文件.
print(f"找到 {len(file_paths)} 个Excel文件.")
```
#### 遍历每一个Excel文件并将其内容加载到DataFrame对象中
创建一个空列表用于存储每次循环得到的结果表;对于每个文件都调用一次`pd.read_excel()`函数完成数据载入动作[^1]。
```python
dfs = []
for path in file_paths:
df_temp = pd.read_excel(path)
dfs.append(df_temp)
if not dfs:
raise ValueError("未发现任何有效的Excel文档")
else:
print("已成功读取所有选定的Excel表格")
```
#### 将所有单独的DataFrame纵向堆叠起来形成一个新的整体结构化数据集
利用`pd.concat()`方法能够轻松地把一系列具有相同列名但行数不同的子表沿垂直方向拼接在一起[^2]。
```python
combined_df = pd.concat(dfs, ignore_index=True) # 设置ignore_index参数使得新索引连续编号而非保留原有索引
print(combined_df.head())
```
#### 输出合并后的结果至新的Excel文件保存下来
最后一步就是选择合适的输出地址并将上述构建好的大型DataFrame导出成为一份全新的Excel文件[^4]。
```python
output_file_name = 'merged_output.xlsx'
save_location = folder_path / output_file_name
combined_df.to_excel(save_location, index=False)
print(f"已完成合并,并保存到了{str(save_location)}")
```
通过以上步骤就可以高效便捷地使用Python脚本批量处理多份Excel报表了。
阅读全文
相关推荐














