将指定excel的一列数据提取到另一个excel的指定列

#!/usr/bin/env python
import openpyxl
bj='D:/地市县公司/西藏台账数据分析-设备台帐分析.xlsx'
wb = openpyxl.load_workbook (bj)
get_sheets = wb.sheetnames
#print(get_sheets)
TA01='TA01'
TA02='TA02'
TA03='TA03'
TE01='TE01'
YG201='YG201'
YG202='YG202'
YG203='YG203'
YG204='YG204'
YG205='YG205'
a=0
max=0
for  name in get_sheets:ws = wb[name]sheet = wb.activea = 0num=1for row in ws:if not all([cell.value == None for cell in row]):num += 1i=0b = []total=0while i < num:if TE01 == name:#  b.insert(i, ws.cell(i+5,2).value)b.append(ws.cell(i+5,2).value)total = num-5i = i+1#breakelif TA01 == name:#b.insert(i, ws.cell(i + 4, 2).value)b.append(ws.cell(i + 4, 2).value)total = num - 4i = i + 1elif TA02 == name:# b.insert(i, ws.cell(i + 5, 2).value)b.append(ws.cell(i + 5, 2).value)total = num - 5i = i + 1#breakelif TA03 == name:# b.insert(i, ws.cell(i + 4, 2).value)b.append(ws.cell(i + 4, 2).value)total = num - 4i = i + 1# breakelif YG201 == name:#b.insert(i, ws.cell(i + 7, 2).value)b.append(ws.cell(i + 7, 2).value)total = num - 7i = i + 1#breakelif YG202 == name:#  b.insert(i, ws.cell(i + 7, 2).value)b.append(ws.cell(i + 7, 2).value)total = num - 7i = i + 1#breakelif YG203 == name:#b.insert(i, ws.cell(i + 7, 2).value)b.append(ws.cell(i + 7, 2).value)total = num - 7i = i + 1#breakelif YG204 == name:# b.insert(i, ws.cell(i + 7, 2).value)b.append(ws.cell(i + 7, 2).value)total = num - 7i = i + 1#breakelif YG205==name:# b.insert(i, ws.cell(i + 7, 2).value)b.append(ws.cell(i + 7, 2).value)total = num - 7i = i + 1#break#print(b)c= [ii for ii in b if ii is not None]#print(c)num1=1if TE01 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/1-1客户服务台账数据.xlsx')ws = wbtest['供电公司-客户服务台账数据']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1#breakelif TA01==name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/1-2电力调度台账数据.xlsx')ws = wbtest['供电公司-电力调度台账数据']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1elif TA02 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/1-3输电运检台账数据.xlsx')ws = wbtest['供电公司-输电运检台账数据']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1#breakelif TA03 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/1-4变电运检台账数据.xlsx')ws = wbtest['供电公司-变电运检台账数据']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1# breakelif YG201 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/2-1前端供电服务实际用工数据.xlsx')ws = wbtest['供电公司-前端供电服务-实际用工']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1elif YG202 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/2-2供电服务支撑实际用工数据.xlsx')ws = wbtest['供电公司-供电服务支撑-实际用工']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1elif YG203 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/2-3电力调度实际用工数据.xlsx')ws = wbtest['供电公司-电力调度-实际用工']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1elif YG204 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/2-4输电运检实际用工数据.xlsx')ws = wbtest['供电公司-输电运检-实际用工']sheet = wb.activefor row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1elif YG205 == name:wbtest = openpyxl.load_workbook('D:/定员测试数据收集表/2-5变电运检实际用工数据.xlsx')ws = wbtest['供电公司-变电运检-实际用工']sheet = wb.activeprint(c)for row1 in ws:if not all([cell1.value == None for cell1 in row1]):num1 += 1iii=0while iii < len(c):ws.cell(row=num1+iii, column=2).value = c[iii]#  print( c[iii])#print(ws.cell(row=num1+iii, column=2).value)#ws.cell(row=num1+iii, column=1).value = 1+iiiiii = iii+1# print(c)#print(num1)#print(TA01)if TE01 == name:#  print(num1)wbtest.save('D:/定员测试数据收集表/1-1客户服务台账数据.xlsx')elif TA01 == name:# print(name)wbtest.save('D:/定员测试数据收集表/1-2电力调度台账数据.xlsx')elif TA02 == name:wbtest.save('D:/定员测试数据收集表/1-3输电运检台账数据.xlsx')elif TA03 == name:wbtest.save('D:/定员测试数据收集表/1-4变电运检台账数据.xlsx')elif YG201 == name:wbtest.save('D:/定员测试数据收集表/2-1前端供电服务实际用工数据.xlsx')elif YG202 == name:wbtest.save('D:/定员测试数据收集表/2-2供电服务支撑实际用工数据.xlsx')elif YG203 == name:wbtest.save('D:/定员测试数据收集表/2-3电力调度实际用工数据.xlsx')elif YG204 == name:wbtest.save('D:/定员测试数据收集表/2-4输电运检实际用工数据.xlsx')elif YG205 == name:wbtest.save('D:/定员测试数据收集表/2-5变电运检实际用工数据.xlsx')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker 数据管理介绍

默认容器的数据是保存在容器的可读写层&#xff0c;当容器被删除时其上的数据也会丢失&#xff0c;所以为了实现数据的持久性则需要选择一种数据持久技术来保存数据。官方提供了三种存储方式&#xff1a;Volumes、Bind mounts和tmpfs。前面还介绍了&#xff1a;Docker 服务终端…

Docker 数据持久化的三种方案

容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题&#xff1a; 数据不是持久化。意思是如果容器删除了&#xff0c;这些数据也就没了 主机上的其它进程不方便访问这些数据 对这些数据的I/O会经过存储驱动&#xff0c;然后到达主机&#xff0c;引入了一层间…

Git 存储原理及相关实现

Git 是目前最流行的版本控制系统&#xff0c;从本地开发到生产部署&#xff0c;我们每天都在使用 Git 进行我们的版本控制&#xff0c;除了日常使用的命令之外&#xff0c;如果想要对 Git 有更深一步的了解&#xff0c;那么研究下 Git 的底层存储原理将会对理解 Git 及其使用非…

Git内部原理

Git有什么特点&#xff1f; fast&#xff0c;scalable&#xff0c;distributed revision control system&#xff08;快速&#xff0c;可扩展的分布式版本控制系统&#xff09; 几乎所有操作都是本地执行 每一个clone都是整个生命周期的完整副本 the stupid content tracker&a…

git存储原理

四种数据类型 实际上Git基于数据类型的不同&#xff0c;把对象分为四种&#xff1a;数据对象、树对象、提交对象、标签对象。Git文件系统的设计思路与linux文件系统相似&#xff0c;即将文件的内容与文件的属性分开存储&#xff0c;文件内容以“装满字节的袋子”存储在文件系统…

详解设计模式:中介者模式

中介者模式&#xff08;Mediator Pattern&#xff09;也被称为调停者模式&#xff0c;是在 GoF 23 种设计模式中定义了的行为型模式。 中介者模式 是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类&#xff0c;该类通常处理不同类之间的通信&#xff0c;并支…

rebase参数以及注意事项

可以根据需要将pick参数&#xff0c;改变为下面代表不同作用的参数&#xff1b;这样就可以对节点C和D进行不同的操作了。比如&#xff1a; pick&#xff1a;默认参数&#xff0c;表示不对提交节点进行任何操作&#xff0c;直接应用原提交节点。不创建新提交&#xff1b; rewor…

RPC 服务 与 HTTP 服务的区别

1、什么是RPC RPC&#xff08;Remote Procedure Call&#xff09;—远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在&#xff0c;如TCP或UDP&#xff0c;为通信程序之间携带信…

Docker 网络命名空间

Docker 用户可以通过与 CNM 的 Object 以及 API 的交互来管理对应容器的网络&#xff0c;下面是一个典型的容器网络生命周期&#xff1a; 1、Driver要向NetworkController注册。内置的Driver在Libnetwork内注册&#xff0c;远程的Driver则通过Plugin mechanism注册。每一个Driv…

缓存雪崩、击穿、穿透解决方案

用户的数据一般都是存储于数据库&#xff0c;数据库的数据是落在磁盘上的&#xff0c;磁盘的读写速度可以说是计算机里最慢的硬件了。 当用户的请求&#xff0c;都访问数据库的话&#xff0c;请求数量一上来&#xff0c;数据库很容易就奔溃的了&#xff0c;所以为了避免用户直…

Ansible中的playbook详解

首先简单说明一下playbook&#xff0c;playbook是什么呢&#xff1f; 根本上说playbook和shell脚本没有任何的区别&#xff0c;playbook就像shell一样&#xff0c;也是把一堆的命令组合起来&#xff0c;然后加入对应条件判断等等&#xff0c;在shell脚本中是一条一条的命令&am…

【Docker】容器镜像有哪些特性

首先解释一下什么是Docker镜像&#xff1f; Docker镜像它其实是一个模板&#xff0c;拥有这个模板我们才能创建我们的Docker容器&#xff0c;镜像里含有启动 docker 容器所需的文件系统结构及其内容&#xff0c;因此是启动一个 docker 容器的基础。docker 镜像的文件内容以及一…

nginx中的location指令

1、location 介绍 location是Nginx中的块级指令(block directive)&#xff0c;location指令的功能是用来匹配不同的url请求&#xff0c;进而对请求做不同的处理和响应&#xff0c;这其中较难理解的是多个location的匹配顺序&#xff0c;本文会作为重点来解释和说明。 开始之前…

容器底层实现技术Namespace/Cgroup

Docker容器实现原理 Docker容器在实现上是通过namespace技术来进行进程隔离&#xff0c;通过cgroup技术实现容器进程可用资源的限制&#xff0c;当docker启动一个容器时&#xff0c;实际是创建了多了namespace参数的进程。 Namespace Namespace&#xff1a;命名空间 作用&#…

身体原因 断更一周

由于众所周知的原因&#xff0c;博主最近具有发热、全身乏力、酸痛、干咳等症状&#xff0c;已严重影响日常的工作学习和博客编写&#xff0c;所以断更我将一周&#xff0c;由下周三&#xff08;即2022年12月21日&#xff09;恢复更新 更多往期内容可以参考&#xff1a;全网最…

异方差与多重共线性对回归问题的影响

异方差的检验 1.异方差的画图观察 2.异方差的假设检验&#xff0c;假设检验有两种&#xff0c;一般用怀特检验使用方法在ppt中&#xff0c;课程中也有实验&#xff0c;是一段代码。 异方差的解决办法 多重共线性 多重共线性可能带来的影响&#xff1a; 多重共线性的检验 多重…

如何修改Docker的镜像源

改或新增/etc/docker/daemon.json 文件 vi/etc/docker/daemon.json 添加需要修改的国内镜像源镜像源 { "registry-mirrors":["http://hub-mirror.c.163.com"] } 重启Docker服务 Systemctl restart docker.service 方法二 修改或新增 /etc/sysconfig…

nginx 的 rewrite 模块

ngxhttprewrite_module 模块用来使用正则表达式&#xff08;PCRE&#xff09;改变请求的 URI&#xff0c;返回重定向&#xff0c;并有条件地选择配置。 指令执行顺序 首先顺序执行 server 块中的 rewrite 模块指令&#xff0c;得到 rewrite 后的请求 URI 然后循环执行如下指令…

所有的Python库

库名称简介 Chardet字符编码探测器&#xff0c;可以自动检测文本、网页、xml的编码。 colorama主要用来给文本添加各种颜色&#xff0c;并且非常简单易用。 Prettytable主要用于在终端或浏览器端构建格式化的输出。 difflib&#xff0c;[Python]标准库&#xff0c;计算文本…

Oracle行转列语法总结大全

一、decode语法 SELECT deptno, nvl(SUM(decode(job, MANAGER, sal)), 0) s_MANAGER, nvl(SUM(decode(job, ANALYST, sal)), 0) s_ANALYST, nvl(SUM(decode(job, CLERK, sal)), 0) s_CLERK, nvl(SUM(decode(job, PRESIDENT, sal)), 0) s_PRESIDENT, …