python 合并xls
时间: 2024-08-22 21:01:12 浏览: 47
python合并excel教学文档
在Python中合并Excel文件(xls格式),你可以使用`openpyxl`库,它是一个功能强大的操作Excel工作簿的库。以下是使用`openpyxl`合并两个或更多Excel文件的基本步骤:
1. 首先,你需要安装`openpyxl`,可以使用pip命令进行安装:
```
pip install openpyxl
```
2. 导入所需的模块:
```python
import os
from openpyxl import load_workbook
```
3. 定义一个函数来合并工作簿:
```python
def merge_excel_files(file_list, output_file):
# 加载第一个文件作为模板
workbook = load_workbook(file_list[0])
# 获取所有工作表的名称
sheet_names = [wb.get_sheet_names() for wb in file_list]
# 创建一个新的工作簿用于保存结果
merged_wb = load_workbook(output_file, data_only=True)
writer_ws = merged_wb.active
# 检查所有文件是否有相同的结构(即相同的列)
first_sheet = workbook[sheet_names[0][0]]
column_count = len(first_sheet.columns)
# 循环遍历所有工作表,并复制数据到新的工作簿
for sheet_name in set(sheet_names[0]):
row_num = 1
for i in range(column_count):
for wb in file_list:
try:
writer_ws.cell(row=row_num, column=i+1, value=wb[sheet_name][f"A{i+1}"].value) # 使用A1 notation
row_num += 1
except IndexError:
pass # 如果某个工作表缺少该列,则跳过
# 保存合并后的文件
merged_wb.save(output_file)
```
4. 调用这个函数,传递你要合并的文件列表和合并后的输出文件名:
```python
file_list = ['file1.xls', 'file2.xls', 'file3.xls']
output_file = 'merged.xlsx'
merge_excel_files(file_list, output_file)
```
阅读全文