python代码如何写一个文件夹里多个Excel工作簿合并一个工作表,表里面的格式不变
时间: 2023-07-28 18:10:09 浏览: 116
您可以使用Python中的pandas库来读取和合并多个Excel工作簿。以下是一个示例代码,可以将一个文件夹中的多个Excel工作簿合并为一个工作表,并保持原有的格式:
```python
import os
import pandas as pd
# 设置要读取的文件夹路径和工作表名称
folder_path = 'folder_path'
sheet_name = 'Sheet1'
# 定义一个空的DataFrame,用于存储所有工作簿数据
all_data = pd.DataFrame()
# 循环遍历文件夹中的所有Excel文件,并将数据添加到all_data中
for file_name in os.listdir(folder_path):
# 判断文件是否为Excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
# 读取工作簿文件中的数据
file_path = os.path.join(folder_path, file_name)
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 将读取的数据添加到all_data中
all_data = all_data.append(df, ignore_index=True)
# 将合并后的数据保存到一个新的Excel工作簿中
writer = pd.ExcelWriter('merged_file.xlsx')
all_data.to_excel(writer, sheet_name=sheet_name, index=False)
writer.save()
```
在这个示例代码中,首先定义了要读取的文件夹路径和工作表名称,然后使用os库的listdir()函数循环遍历文件夹中的所有Excel文件。对于每个Excel文件,使用pandas库的read_excel()函数读取其中的数据,并将其添加到一个空的DataFrame对象中。最后,使用pandas库的to_excel()函数将合并后的数据保存到一个新的Excel工作簿中。
需要注意的是,这种方法可能会导致合并后的工作表格式不一致,因为不同的工作簿可能具有不同的格式和样式。如果需要保持每个工作簿的格式和样式不变,可能需要使用其他一些库和方法,例如openpyxl库或xlwings库。
阅读全文