Python保留格式复制多个Excel工作表到汇总表并生成目录

MoMo 2023年8月20日20:09:21
评论
66

新建多个Excel,写入数据,保留格式复制多个excel工作表到汇总表并生成目录

要完成这个任务,我们可以使用pandas库来读取和写入Excel文件,以及openpyxl库来操作Excel工作表和保留格式。下面是一个完整的示例:

安装依赖库

pip install pandas
pip install openpyxl

 

创建测试的Excel文件并写入数据

import pandas as pd

# 创建多个Excel文件并写入数据
for i in range(1, 4):
    df = pd.DataFrame({
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'Occupation': ['Engineer', 'Doctor', 'Artist']
    })
    df.to_excel(f'Excel_{i}.xlsx', index=False)

保留格式复制多个excel工作表到汇总表并生成目录

from openpyxl import Workbook, load_workbook

def copy_worksheet(src_ws, dest_ws):
    for row in src_ws.iter_rows():
        for cell in row:
            dest_ws[cell.coordinate].value = cell.value

# 创建汇总Excel工作簿
summary_wb = Workbook()
summary_ws = summary_wb.active
summary_ws.title = "目录"
summary_wb.remove(summary_ws)

# 生成目录
index = 1
for i in range(1, 4):
    # 加载源Excel文件
    src_wb = load_workbook(f'Excel_{i}.xlsx')
    src_ws = src_wb.active
    
    # 创建新工作表并复制内容
    dest_ws = summary_wb.create_sheet(title=f'Sheet_{i}')
    copy_worksheet(src_ws, dest_ws)
    
    # 更新目录
    summary_ws = summary_wb['目录']
    summary_ws.append([f'Sheet_{i}', f'Excel_{i}.xlsx'])
    index += 1

# xpanx.com: 使用openpyxl库保存汇总Excel文件
summary_wb.save('Summary_Excel.xlsx')

基础知识解释

  1. pandas库: 用于创建Excel文件并写入数据。
  2. openpyxl库: 用于读取和操作Excel工作表,包括复制工作表和保留格式。
  3. 工作表操作: 在这个例子中,我们使用copy_worksheet函数来复制工作表内容。
  4. 目录生成: 我们在汇总Excel工作簿中创建了一个名为"目录"的工作表,用于存储每个复制的工作表的信息。

运行这两段代码后,你将得到多个源Excel文件和一个汇总Excel文件,该汇总文件包含所有源工作表的内容以及一个目录。希望这能帮助你解决问题!

 

https://xpanx.com/
MoMo
  • 本文由 发表于 2023年8月20日20:09:21
  • 转载请务必保留本文链接:https://xpanx.com/4166.html
Midjourney关键词大全:教程免费分享与介绍 人工智能

Midjourney关键词大全:教程免费分享与介绍

在当下数字化的时代,关键词对于搜索引擎、社交平台、内容生成等领域都具有至关重要的作用。了解并正确使用关键词,可以帮助内容更好地被推荐、被找到,也可以使AI生成工具更准确地为我们创建所需的内容。今天,我...
Python动态月度日历Excel生成器 Python

Python动态月度日历Excel生成器

功能 本脚本用于生成一个特定年份的日历,将其保存在Excel工作簿中。用户可以自定义年份以及一周的开始日(如星期一、星期日等)。每个月都会在一个单独的Excel工作表中呈现,且工作表中的周会以绿色背景...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: