python 完整复制一个excel文件到另一个文件夹,并保留所有表单和格式
时间: 2024-09-25 14:08:45 浏览: 40
基于Python的一个自动录入表格的小程序
5星 · 资源好评率100%
在Python中,你可以使用pandas库结合openpyxl或xlsxwriter库来完整复制Excel文件并保留表格结构和格式。这里是一个基本的例子,我们将使用openpyxl读取原文件,然后保存到指定的目标位置:
```python
import os
import pandas as pd
from openpyxl import load_workbook
# 读取源文件
source_file = '源文件.xlsx'
dest_folder = '目标文件夹'
# 检查目标文件夹是否存在,如果不存在则创建
if not os.path.exists(dest_folder):
os.makedirs(dest_folder)
# 加载源工作簿
src_wb = load_workbook(source_file)
src_ws_list = src_wb.sheetnames # 获取所有工作表名
# 对每个工作表进行复制
for ws_name in src_ws_list:
# 读取工作表数据
src_ws = src_wb[ws_name]
data = src_ws.values
# 创建新的工作簿并将数据写入
dest_file = os.path.join(dest_folder, f'{ws_name}.xlsx')
dest_wb = load_workbook(dest_file) if os.path.exists(dest_file) else Workbook() # 如果目标文件已存在,就加载它;否则新建
dest_ws = dest_wb.active or dest_wb.create_sheet(title=ws_name) # 设置活动工作表或创建新工作表
dest_ws.append(data)
# 保持格式,这里只是一个简单的例子,对于复杂的格式可能需要更深入处理
for cell in src_ws.iter_cells():
if cell.has_style: # 如果单元格有样式
style = src_ws.cell(cell.coordinate).style
dest_ws.cell(row=cell.row, column=cell.column).copy_from(src_ws.cell(row=cell.row, column=cell.column), style=style)
# 保存所有工作表
dest_wb.save(dest_file)
阅读全文