以下是一个完整的示例代码,展示如何从一个Excel模板中获取Sheet并将其追加到另一个Excel文件中不覆盖原有的数据
时间: 2025-06-09 08:01:00 浏览: 12
在Python中,我们可以使用pandas库配合openpyxl模块来处理Excel文件。以下是一个简单的示例,演示如何从一个Excel模板读取特定sheet,并将其追加到另一个Excel文件而不覆盖原有数据:
```python
import pandas as pd
from openpyxl import load_workbook
# 1. 加载源工作簿(模板)
template_wb = load_workbook('template.xlsx')
source_sheet = template_wb['Sheet1'] # 假设你要复制的sheet名为'Sheet1'
# 2. 加载目标工作簿(可能存在已有数据的文件)
target_wb = load_workbook('target.xlsx')
# 3. 将源sheet转换为DataFrame,因为pandas可以方便地处理表格数据
source_df = pd.DataFrame(source_sheet.values)
# 4. 获取目标文件的工作表列表
existing_sheets = target_wb.sheetnames
# 5. 检查模板的sheet是否已经在目标文件中,如果没有就直接追加
if 'Sheet1' not in existing_sheets:
# 如果不存在,则创建新的sheet并追加数据
new_sheet = target_wb.create_sheet(title='Sheet1', index=len(existing_sheets))
new_sheet.append(source_df)
else:
# 如果存在,先加载已有数据,然后追加新数据
target_sheet = target_wb['Sheet1']
target_df = pd.DataFrame(target_sheet.values)
merged_df = pd.concat([target_df, source_df], ignore_index=True) # 合并两个DataFrame,忽略索引
new_data = merged_df.to_dict(orient='records') # 转回dict数组以便写入
target_sheet.data = new_data # 更新目标sheet
# 6. 最后保存目标文件
target_wb.save('target.xlsx')
阅读全文
相关推荐

















