Python将同一路径下的excel表格合并为一个表格
时间: 2024-03-18 14:39:37 浏览: 21
同样可以使用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中的pandas库来实现合并同一文件夹下所有excel表格的功能。具体步骤如下:
1. 导入pandas库
```python
import pandas as pd
```
2. 使用pandas的read_excel函数读取每个excel文件,并将其存储到一个列表中
```python
import os
# 获取文件夹中所有的excel文件
folder_path = "path/to/folder"
all_files = os.listdir(folder_path)
excel_files = [f for f in all_files if f.endswith('.xlsx') or f.endswith('.xls')]
# 读取每个excel文件,并将其存储到一个列表中
data_frames = []
for file in excel_files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
data_frames.append(df)
```
3. 使用pandas的concat函数将所有数据框合并为一个
```python
# 使用concat函数将所有数据框合并为一个
merged_df = pd.concat(data_frames, ignore_index=True)
```
4. 将合并后的数据框保存为一个新的excel文件
```python
# 将合并后的数据框保存为一个新的excel文件
merged_df.to_excel("path/to/output_file.xlsx", index=False)
```
完整代码如下:
```python
import pandas as pd
import os
# 获取文件夹中所有的excel文件
folder_path = "path/to/folder"
all_files = os.listdir(folder_path)
excel_files = [f for f in all_files if f.endswith('.xlsx') or f.endswith('.xls')]
# 读取每个excel文件,并将其存储到一个列表中
data_frames = []
for file in excel_files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
data_frames.append(df)
# 使用concat函数将所有数据框合并为一个
merged_df = pd.concat(data_frames, ignore_index=True)
# 将合并后的数据框保存为一个新的excel文件
merged_df.to_excel("path/to/output_file.xlsx", index=False)
```