Python 汇总两张excel表格:分解excel复杂表头,比对汇总表和子表异同项目,生成仅含相同项的汇总表和填充异同项目的子表

2023-11-18

在工作中遇到需要将子表项目添加到汇总表中,存在以下特点:

工作中遇到需要将子表项目汇总到汇总表中,存在以下特点:

1、表头复杂,存在合并的单元格,考虑分解单元格并填充空白单元格。

2、子表中存在汇总表没有的项目,考虑将子表分别标示异同项目,创建辅助的汇总表,内容为子表的相同项目。

(原设想为子表自动添加到汇总表中,并自动增开汇总表缺失项目。经过试验,表头排序暂时无法解决,故改为人为判断插入位置。)

一、原文件

原汇总表:

原子表:

二、思路

1、将汇总表、子表分解表头,保存新的汇总表和子表:01分解后的汇总表,02分解后的子表

2、比对分解后的汇总表和子表,生成仅含相同项的03汇总表.xls,同项绿色底,异项红色底的04子表。

3、后续可根据03表和04表处理数据。

三、代码

xlrd模块只能读取数据,不能写入数据,xlwt写入数据,记得打开单元格重写,否则无法改写已有数据的单元格。

from openpyxl import *
import xlrd
import xlwt
import xlutils.copy
import pandas as pd
import csv
import os

def setstyle(pattern_fore_colour= 0x0A,borders_left= 1,borders_right= 1,borders_top= 1,borders_bottom = 1):
    style = xlwt.XFStyle()
    pat = style.pattern
    pat.pattern = 1 # 打开填充
    pat.pattern_fore_colour= pattern_fore_colour #红色
    borders2_2 = style.borders #定义边框
    borders2_2.left,borders2_2.right,borders2_2.top,borders2_2.bottom = borders_left,borders_right,borders_top,borders_bottom
    return style


# @@@@@@@@@@@@@@@@----------------------分解表头----------------------@@@@@@@@@@@@@@@@
"""
将输入的xls表分解合并的单元格,并填充这些单元格的数值,形成新的xls保存到电脑里
"""
# 打开汇原
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 汇总两张excel表格:分解excel复杂表头,比对汇总表和子表异同项目,生成仅含相同项的汇总表和填充异同项目的子表 的相关文章

  • pip 安装最新的依赖版本

    当我使用安装包时pip install e 它仅安装不满足的依赖项并忽略依赖项升级 如何在每次运行时安装最新的依赖版本pip install e 我尝试过使用pip install upgrade e 但是使用这个选项没有任何改变 我仍然得
  • setColumnStretch 和 setRowStretch 如何工作

    我有一个使用构建的应用程序PySide2它使用setColumnStretch用于柱拉伸和setRowStretch用于行拉伸 它工作得很好 但我无法理解它是如何工作的 我参考了 qt 文档 但它对我没有帮助 我被困在括号内的两个值上 例如
  • 如何测试该变量不等于多个事物?

    这是我的一段代码 choice while choice 1 and choice 2 and choice 3 choice raw input pick 1 2 or 3 if choice 1 print 1 it is elif c
  • Python MySQLdb:connection.close() VS。光标.close()

    如果我使用MySQLdb通过Python连接到MySQL Server 我创建一个connection and a cursor像这样 connection MySQLdb connect cursor connection cursor
  • pandas DataFrame 中行的高效成对比较

    我目前正在处理一个较小的数据集 大约 900 万行 不幸的是 大多数条目都是字符串 即使强制类别 框架在内存中也只有几 GB 我想做的是将每一行与其他行进行比较 并对内容进行直接比较 例如 给定 A B C D 0 cat blue old
  • Python正则表达式替换引号中的文本(引号本身除外)

    例如 我有一个测试字符串 content I opened my mouth Good morning I said cheerfully 我想使用正则表达式删除双语音标记之间的文本 但不删除语音标记本身 所以它会返回 I opened m
  • 如何使用 Python 在表单中选择选项?

    我想知道如何以格式如下的形式选择选项 td align left td
  • VBA 中的求和函数

    我在 vba 中对单元格求和时遇到问题 我需要使用单元格 a b Range A1 function SUM Range Cells 2 1 Cells 3 2 但它不起作用 函数不是范围内的属性 方法 如果您想对值求和 请使用以下命令 R
  • 如何停止 PythonShell

    如何终止 停止 Node js 中 PythonShell 执行的 Python 脚本的执行 我在交互模式下运行 输出通过 socket io 发送到给定的房间 如果没有更多的客户端连接到这个房间 我想停止 python 脚本的执行 这是我
  • 使用最新值进行采样

    考虑以下系列 created at 2014 01 27 21 50 05 040961 80000 00 2014 03 12 18 46 45 517968 79900 00 2014 09 05 20 54 17 991260 636
  • 如何在 tkinter 后台运行函数[重复]

    这个问题在这里已经有答案了 我是 GUI 编程新手 我想用 tkinter 编写一个 Python 程序 我想要它做的就是在后台运行一个可以通过 GUI 影响的简单函数 该函数从 0 计数到无穷大 直到按下按钮为止 至少这是我想要它做的 但
  • 使用 Popen 打开进程并获取 PID

    我正在开发一个漂亮的小功能 def startProcess name path Starts a process in the background and writes a PID file returns integer pid Ch
  • 类型错误:无法连接“str”和“int”对象有人可以帮助新手使用他们的代码吗?

    感谢任何帮助 还有任何重大缺陷或您在格式或基本方面看到的任何重大缺陷 请指出 谢谢 day raw input How many days locations raw input Where to days str day location
  • 在 Keras 中使用有状态 LSTM 训练多变量多级数回归问题

    我有时间序列P过程 每个过程的长度各不相同 但都有 5 个变量 维度 我试图预测测试过程的估计寿命 我正在用有状态的方法来解决这个问题LSTM在喀拉斯 但我不确定我的训练过程是否正确 我将每个序列分成长度的批次30 所以每个序列都是这样的形
  • 哈希 freezeset 与排序元组

    在 Python 中 给定一组可比较的 可散列的元素s 散列是否更好frozenset s or tuple sorted s 这取决于你在做什么 创建一个更快frozenset 比排序tuple but frozenset占用的内存比tu
  • 在基本 Tensorflow 2.0 中运行简单回归

    我正在学习 Tensorflow 2 0 我认为在 Tensorflow 中实现最基本的简单线性回归是一个好主意 不幸的是 我遇到了几个问题 我想知道这里是否有人可以提供帮助 考虑以下设置 import tensorflow as tf 2
  • 我应该在哪里对对象和字段进行 django 验证?

    我正在创建一个 Django 应用程序 它使用 Django Rest Framework 和普通的 django views 作为用户的入口点 我想对模型的独立字段以及整个对象进行验证 例如 字段 根据正则表达式函数输入的车牌是否正确 与
  • 从函数在 python 3 中创建全局变量

    我想知道为什么在函数结束后我无法访问变量 variable for raw data 代码是这样的 def htmlfrom Website URL import urllib request response urllib request
  • 如何从 Anaconda 更新 Pandas 以及最后是否可以使用 eclipse

    我已经使用以下文档通过 Anaconda 安装了 Python http www kevinsheppard com images 0 09 Python introduction pdf http www kevinsheppard co
  • Python 中的可逆 STFT 和 ISTFT

    有没有通用的形式短时傅立叶变换 https en wikipedia org wiki Short time Fourier transform与内置于 SciPy 或 NumPy 或其他什么中的相应逆变换 这是pyplotspecgram

随机推荐

  • 华为OD机试-查找充电设备组合-2022Q4 A卷-Py/Java/JS

    某个充电站 可提供n个充电设备 每个充电设备均有对应的输出功率 任意个充电设备组合的输出功率总和 均构成功率集合P的1个元素 功率集合P的最优元素 表示最接近充电站最大输出功率P max的元素 输入描述 输入为3行 第1行为充电设备个数n
  • 论文解读:Personalize Segment Anything Model with One Shot

    发表时间 2023 5 4 项目地址 https github com ZrrSkywalker Personalize SAM 体验地址 https huggingface co spaces justin zk Personalize
  • FFMPEG 合并视频文件(无损)

    FFMPEG 合并视频文件 无损 前言 最近在做视频转码相关业务 但是片源商给了一些DVD的零散视频片段 需要自己去合并片段并进行业务转码 本篇文章主要记录视频合并的过程及常见的合并方式 环境 FFMPEG BUILDS 4 4 1 FFm
  • [Pytorch系列-62]:生成对抗网络GAN - 基本原理 - 自动生成手写数字案例分析

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121914862 目录 第1章 基本原
  • 这三款软件让你轻松实现在线扫花识别植物

    如今 鲜花是我们日常生活中最常见的植物 但是随着鲜花种类的不断增多 它的许多的种类信息 想必大多数的朋友都难以认识清楚 因此 有的人就会使用一些识别鲜花的APP来帮助我们通过拍照而轻松获知鲜花的信息 那么你们知道识别鲜花的APP都有哪些吗
  • 小型中文版聊天机器人

    入门小菜鸟 希望像做笔记记录自己学的东西 也希望能帮助到同样入门的人 更希望大佬们帮忙纠错啦 侵权立删 目录 一 简单介绍与参考鸣谢 二 数据集介绍 三 数据预处理 1 重复标点符号表达 2 英文标点符号变为中文标点符号 3 繁体字转为简体
  • 【华为OD机试真题 Python语言】5、TLV解析

    文章目录 一 题目 题目描述 输入输出 样例1 二 思路参考 三 代码参考 作者 鲨鱼狼臧 个人博客首页 鲨鱼狼臧 专栏介绍 2023华为OD机试真题 使用Python进行解答 专栏每篇文章都包括真题 思路参考 代码分析 订阅有问题后续可与
  • Ansible 的脚本 --- playbook 剧本

    Ansible 的脚本 playbook 剧本 playbooks 本身由以下各部分组成 编写yaml文件示例 运行playbook 定义 引用变量 指定远程主机sudo切换用户 when条件判断 迭代 Templates 模块 1 先准备
  • 测试平台简介

    测试平台简介 一 被测系统介绍 被测系统为电商后台管理系统 功能模块包括 商品管理 订单管理 会员管理等 登录需要验证码 因没有后台代码 绕不开登录 只能手动获取到cookie 填充进测试用例 遇到真实项目 cookie这块逻辑需要再改造
  • Moonbeam与Nodle网络集成,增添物联网功能

    领先的波卡跨链互连开发平台Moonbeam近期宣布与Nodle Network达成XCM集成 将NODL Token带到Moonbeam生态之中 本次集成将会开启波卡中Moonbeam和Nodle网络以及通过Moonbeam互连合约相连的远
  • 如何在Swift开发中使用CocoaPods导入的第三方库

    今天在用swift写项目时 需要用CocoaPods引入SDWebImage这个三方库 于是开始在Vim命令中创建pod file 在创建之前需要cd到当前项目的目录中 Podfile创建步骤如下 1 创建Podfile touch Pod
  • Selenium自动化测试工具的介绍与使用

    Selenium自动化测试 什么是自动化测试 自动化测试指软件测试的自动化 在预设状态下运行应用程序或者系统 预设条件包括正常和异常 最后评估运行 结果 总的概括即 将人为驱动的测试行为转化为机器执行的过程 进入今天的主角 selenium
  • MSP430F5529学习笔记(1)——环境配置

    CCS下载链接 MSP430F5529官方教学视频 目录 下载 新建工程 创建文件 重要部分按钮介绍 project Explorer没有 下载 我们编写MSP430F5529的程序 需要使用到CCS这个软件 我们进入官网之后 界面如下 点
  • 实时系统HBase读写优化--大量写入无障碍

    在使用hbase过程中发现在写入hbase的数据量很大时 经常发生写不进去的情况 而我们基于hbase的应用是对实时性要求很高的 一旦hbase不能读写则会大大影响系统的使用 下面将记录hbase写优化的过程 1 禁止Major Compa
  • java多线程:线程池和阻塞队列

    一 线程池定义和使用 jdk 1 5 之后就引入了线程池 1 1 定义 从上面的空间切换看得出来 线程是稀缺资源 它的创建与销毁是一个相对偏重且耗资源的操作 而Java线程依赖于内核线程 创建线程需要进行操作系统状态切换 为避免资源过度消耗
  • 微博网站分享按钮

    div class bdsharebuttonbox a class bds weixin a a class bds sqq a a class bds tsina a div
  • Grid布局20行代码快速生成瀑布流

    网格布局 Grid 布局 好用又简单 至少比 Flex 要人性化一点 美中不足就是浏览器支持度差点 DOM结构 中间夹层为了后续拓展 CSS grid display grid grid template columns repeat 2
  • 学习lua结合unity遇到错误信息的解决方法

    require uiDefine 报错信息 module uiDefine not found no fieldpackage preload uiDefine no such builtin lib uiDefine 解决方法 在requ
  • 全国青少年软件编程等级考试标准(正式级)

    简介 说明本标准由中国电子学会科普培训与应用推广中心和北京大学信息科学技术学院共同制定 由全国青少年电子信息科普创新联盟标准工作组参与开发 由中国电子学会普及工作委员会审核通过 适用于由中国电子学会举办的全 说明 本标准由中国电子学会科普培
  • Python 汇总两张excel表格:分解excel复杂表头,比对汇总表和子表异同项目,生成仅含相同项的汇总表和填充异同项目的子表

    在工作中遇到需要将子表项目添加到汇总表中 存在以下特点 工作中遇到需要将子表项目汇总到汇总表中 存在以下特点 1 表头复杂 存在合并的单元格 考虑分解单元格并填充空白单元格 2 子表中存在汇总表没有的项目 考虑将子表分别标示异同项目 创建辅