ython將一個文件夾中多個excel文件合并為一個工作簿多個工作表工作表名字為相應工作薄名字保存到其他路徑中
时间: 2024-01-03 18:04:52 浏览: 55
汇总指定文件夹内所有工作薄_ExcelVBA_
你可以使用Python中的pandas和openpyxl库来处理Excel文件。
以下是实现的步骤:
1. 导入所需的库
```python
import os
import pandas as pd
from openpyxl import Workbook
```
2. 定义文件夹路径和新工作簿路径
```python
folder_path = 'path/to/folder'
new_path = 'path/to/new/workbook.xlsx'
```
3. 获取文件夹中所有的Excel文件名,并创建一个新的工作簿
```python
files = os.listdir(folder_path)
wb = Workbook()
```
4. 遍历所有Excel文件,将每个工作表添加到新的工作簿中
```python
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(folder_path, file)
sheet_name = os.path.splitext(file)[0]
df = pd.read_excel(file_path, sheet_name=None)
for sheet in df:
df[sheet].to_excel(wb, sheet_name=sheet_name)
```
5. 保存新的工作簿到指定路径
```python
wb.save(new_path)
```
完整代码如下:
```python
import os
import pandas as pd
from openpyxl import Workbook
folder_path = 'path/to/folder'
new_path = 'path/to/new/workbook.xlsx'
files = os.listdir(folder_path)
wb = Workbook()
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(folder_path, file)
sheet_name = os.path.splitext(file)[0]
df = pd.read_excel(file_path, sheet_name=None)
for sheet in df:
df[sheet].to_excel(wb, sheet_name=sheet_name)
wb.save(new_path)
```
希望能帮到你!
阅读全文