当前位置: 首页 > news >正文

[python]python筛选excel表格信息并保存到另一个excel

在这里插入图片描述

目录

  • 关键词
  • 平台说明
  • 背景
  • 所需库
    • 1.安装相关库
    • 2.代码实现
      • source
      • target1

关键词

==python、excel、DBC、openpyxl ==

平台说明

项目Value
python版本3.6

背景

从一个excel表中遍历删选信息并保存到另一个excel表

所需库

1.openpyxl :是一个用于读写 Excel 文件的 Python 库。

1.安装相关库

pip install openpyxl 

2.代码实现

source

在这里插入图片描述

target1

在这里插入图片描述

import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())import os
from openpyxl import Workbook
from openpyxl import load_workbook
if os.path.exists('source.xlsx'):wb_source = load_workbook('source.xlsx')
else:wb_source = Workbook()
sheet_source = wb_source.activeif os.path.exists('target1.xlsx'):wb_target = load_workbook('target1.xlsx')
else:wb_target = Workbook()
sheet_target = wb_target.activeglobal target_row
global class_target
global headteacher
global col
target_row = 2
for row in range(4,112):for col in range(1,19):data_source = sheet_source.cell(row=row,column=col).valueif data_source == "班级" and col == 1:breakelse:if col == 1:#sheet_target.cell(row=target_row, column=5,value = data_source)#在第5列写入班级class_target = data_source #保存当前班级elif col == 2:#sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名#sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任headteacher = data_source #保存当前班主任姓名elif col == 4:sheet_target.cell(row=target_row, column=10,value = sheet_source["D3"].value)#在第10列写入课程名称sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任  target_row += 1 #换行elif col == 5 and data_source!= None:sheet_target.cell(row=target_row, column=10,value = sheet_source["E3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任         target_row += 1elif col == 6:sheet_target.cell(row=target_row, column=10,value = sheet_source["F3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任             target_row += 1elif col == 7:sheet_target.cell(row=target_row, column=10,value = sheet_source["G3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任          target_row += 1elif col == 8:sheet_target.cell(row=target_row, column=10,value = sheet_source["H3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任            target_row += 1elif col == 9:sheet_target.cell(row=target_row, column=10,value = sheet_source["I3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任            target_row += 1elif col == 10 and data_source!= None:sheet_target.cell(row=target_row, column=10,value = sheet_source["J3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任           target_row += 1elif col == 11:sheet_target.cell(row=target_row, column=10,value = sheet_source["K3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任           target_row += 1elif col == 12:sheet_target.cell(row=target_row, column=10,value = sheet_source["L3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任           target_row += 1elif col == 13:sheet_target.cell(row=target_row, column=10,value = sheet_source["M3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任            target_row += 1elif col == 14 and data_source!= None:sheet_target.cell(row=target_row, column=10,value = sheet_source["N3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任            target_row += 1elif col == 15:sheet_target.cell(row=target_row, column=10,value = sheet_source["O3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任            target_row += 1elif col == 16:sheet_target.cell(row=target_row, column=10,value = sheet_source["P3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任          target_row += 1elif col == 17:sheet_target.cell(row=target_row, column=10,value = sheet_source["Q3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任           target_row += 1elif col == 18:sheet_target.cell(row=target_row, column=10,value = sheet_source["R3"].value)sheet_target.cell(row=target_row, column=5,value = class_target)#在第5列写入班级sheet_target.cell(row=target_row, column=1,value = data_source)#在第1列写入老师姓名if data_source == headteacher :sheet_target.cell(row=target_row, column=6,value = '是')#在第6列写入是否为班主任else:sheet_target.cell(row=target_row, column=6,value = '否')#在第6列写入是否为班主任           target_row += 1                
wb_source.save('source.xlsx') 
wb_source.close() 
wb_target.save('target1.xlsx') 
wb_target.close() print('数据提取完成')

相关文章:

[python]python筛选excel表格信息并保存到另一个excel

目录 关键词平台说明背景所需库1.安装相关库2.代码实现sourcetarget1 关键词 python、excel、DBC、openpyxl 平台说明 项目Valuepython版本3.6 背景 从一个excel表中遍历删选信息并保存到另一个excel表 所需库 1.openpyxl :是一个用于读写 Excel 文件的 Pyt…...

使用kafka_exporter监控Kafka

prometheus 监控 kafka 常见的有两种开源方案,一种是传统的部署 exporter 的方式,一种是通过 jmx 配置监控, 项目地址: kafka_exporter:https://github.com/danielqsj/kafka_exporterjmx_exporter:https://github.com/prometheus/jmx_exporter本文将采用kafka_exporter方…...

基于Bagging集成学习方法的情绪分类预测模型研究(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…...

Java算法(八)手写String集合元素去重的两种实现方式 正序 逆序 删除集合中符合条件的字符串

Java算法(八): 实现集合去重 需求:创建一个存储String的集合,内部存储(test, 张三, test,test, 李四)字符串 删除所有的test字符串,删除后&#…...

Linux的简单使用

Linux命令使用技巧 Tab键自动补全连续两次Tab键,给出操作提示使用上下箭头快速调出曾经使用过的命令使用clear命令或者Ctrll快捷键实现清屏Linux的常用命令 命令作用详细说明ls [-al] [dir]显示指定目录下的内容 -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) …...

OpenCV技术应用(4)— 如何改变图像的透明度

前言:Hello大家好,我是小哥谈。本节课就手把手教你如何改变图像的透明度,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 改变图像透明度的实…...

SpringCloud之Feign

文章目录 前言一、Feign的介绍二、定义和使用Feign客户端1、导入依赖2、添加EnableFeignClients注解3、编写FeignClient接口4、用Feign客户端代替RestTemplate 三、自定义Feign的配置1、配置文件方式全局生效局部生效 2、java代码方式 四、Feign的性能优化连接池配置 五、Feign…...

股票池(三)

3-股票池 文章目录 3-股票池一. 查询股票池支持的类型二. 查询目前股票池对应的股票信息三 查询股票池内距离今天类型最少/最多的股票数据四. 查询股票的池统计信息 一. 查询股票池支持的类型 接口描述: 接口地址:/StockApi/stockPool/listPoolType 请求方式:GET…...

如何搭建测试环境?一文解决你所有疑惑!

什么是测试环境 测试环境,指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境硬件软件网络数据准备测试工具。 硬件:指测试必需的服务器、客户端、网络连接等辅助设备。 软件&#…...

【JVM】JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]

文章目录 一、背景二、原因三、 代码验证 一、背景 生产环境日志突然膨胀到100G, 为了定位问题,所以截取了部分报错日志, 问题是 堆栈信息呢? 哪里报的NPE在哪??? 信息如下: [ERROR] 2020-12-09 09:41:50.053 - [taskAppIdTASK-1919-33805-97659]:[156] - wait task qu…...

第十一章 目标检测中的NMS

精度提升 众所周知,非极大值抑制NMS是目标检测常用的后处理算法,用于剔除冗余检测框,本文将对可以提升精度的各种NMS方法及其变体进行阶段性总结。 总体概要: 对NMS进行分类,大致可分为以下六种,这里是依…...

vue项目中使用vant轮播图组件(桌面端)

一. 内容简介 vue使用vant轮播图组件(桌面端) 二. 软件环境 2.1 Visual Studio Code 1.75.0 2.2 chrome浏览器 2.3 node v18.14.0 三.主要流程 3.1 安装环境 3.2 添加代码 3.3 结果展示 四.具体步骤 4.1 安装环境 先安装包 # Vue 3 项目,安装最新版 Va…...

如何做好性能压测 —— 压测环境设计和搭建!

简介:一般来说,保证执行性能压测的环境和生产环境高度一致是执行一次有效性能压测的首要原则。有时候,即便是压测环境和生产环境有很细微的差别,都有可能导致整个压测活动评测出来的结果不准确。 1. 性能环境要考虑的要素 1.1 系…...

手机弱网测试工具:Charles

我们在测试app的时候,需要测试弱网情况下的一些场景,那么使用Charles如何设置弱网呢,请看以下步骤: 前提条件: 手机和电脑要在同一局域网内 Charles连接手机抓包 一、打开Charles,点击代理,…...

Axios七大特性

Axios是一个基于Promise的HTTP客户端,用于浏览器和Node.js环境中发起HTTP请求。它有许多强大的特性,下面将介绍Axios的七大特性。 1. 支持浏览器和Node.js Axios既可以在浏览器中使用,也可以在Node.js环境中使用,提供了统一的AP…...

【机器学习基础】K-Means聚类算法

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!相对完整的机器学习基础教学! ⭐特别提醒:针对机器学习,特别开始专栏:机器学习python实战…...

Vite - 配置 - 自动修改 index.html 中的title

需求描述 在Vue3项目的开发过程中,我们为了能区分正式环境和测试环境, 通常会进行环境配置文件的区分, 例如,开发环境一个配置文件、生产环境一个配置文件。因此,我们就希望 在项目的index.html 的 title 标签中&…...

基于安卓android微信小程序美容理发店预约系统app

项目介绍 为美容院设计一个系统以减少员工的工作量就成为了想法的初始状态。紧接着对美容院进行进一步的调查发现我的想法已然落后。基本上每个美容院都以有了自己的信息系统,并且做的已经较完善了。 在这时我突然想到,现在关注美容养生的人越来越多&am…...

*** stack smashing detected ***: terminated

有一个函数返回值是bool类型,但忘了return了,编译可以通过,但是运行的时候报这个错误。...

鸿蒙系统扫盲(二):再谈鸿蒙是不是安卓套壳?

最近小米发布了澎湃OS,vivo发布了蓝OS,好像自从华为回归后,大伙都开始写自己的OS了,小米官方承认是套壳安卓,然后被大家喷了,于是鸿蒙是不是安卓套壳的话题又回到了大众的视野,今天在讨论下这个…...

保姆级避坑指南:速腾RS-Hellos-16P雷达驱动在Ubuntu20.04下的完整配置流程(含ROS Noetic)

速腾RS-Hellos-16P雷达Ubuntu20.04配置全攻略:从驱动安装到Cartographer建图的避坑指南 第一次接触速腾激光雷达和ROS Noetic的开发者,往往会在配置过程中遇到各种意想不到的问题。本文将带你一步步完成从驱动安装到Cartographer建图的完整流程&#xff…...

基于可解释AI的微射流速度预测:FNN与SHAP解析空化气泡位置影响机制

1. 项目概述:当微射流遇上可解释AI在精密制造、生物医疗和微纳加工领域,微射流技术正扮演着越来越关键的角色。想象一下,一根比头发丝还细的水柱,以极高的速度精准地冲击目标,用于切割细胞、清洗精密零件或进行药物递送…...

为AI智能体构建持久化记忆:Stratum架构设计与工程实践

1. 项目概述:为AI智能体注入“脊柱”的持久化基础设施如果你和我一样,深度使用过像OpenClaw这类本地化AI智能体框架,一定会被一个核心问题困扰:智能体没有记忆。每次启动,它都像一张白纸,上次的对话、犯过的…...

开源量化框架trading-strategy:DeFi链上策略开发与回测实战指南

1. 项目概述与核心价值最近在量化交易和算法策略开发的圈子里,一个名为tradingstrategy-ai/trading-strategy的开源项目热度持续攀升。作为一名在金融科技和自动化交易领域摸爬滚打了十多年的老兵,我习惯性地会去审视每一个新出现的“明星项目”&#xf…...

对比自行维护多个API密钥使用Taotoken聚合服务在稳定性上的体验差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比自行维护多个API密钥与使用Taotoken聚合服务在稳定性上的体验差异 1. 引言:从分散管理到统一接入的转变 在开发过…...

Ceph 对象存储深度解析系列 第二部分:RGW 数据路径、分片和自动化

新钛云服已累计为您分享896篇技术干货简介在本深度解析的第一部分中,我们剖析了 Ceph RGW 内部的高性能请求路径。我们涵盖了其无状态前端、基础 RADOS 存储池以及关键的桶索引,揭示了动态分片如何使单个桶内的对象列表实现几乎无限的可扩展性。我们确立…...

百度网盘提取码智能解析:3分钟告别手动搜索的终极指南

百度网盘提取码智能解析:3分钟告别手动搜索的终极指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘提取码而烦恼吗?每次遇到加密分享链接,都要像侦探一样在网页间来回搜索…...

CANN算子测试挑战赛提交

团队信息 【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 团队名称:群星闪耀时所属单位:南昌航空大学团队…...

基于ONVIF协议与Python实现AI Agent视觉节点:AI Watcher项目实战

1. 项目概述:让摄像头成为AI的“眼睛”最近在折腾一个挺有意思的项目,叫AI Watcher。简单来说,它的目标是把一个普通的、支持ONVIF协议的监控摄像头,变成一个能被AI智能体(Agent)直接调用的“视觉节点”。这…...

作物生长模型

林氏系统(通常称L系统)是林德梅叶1968年为模拟生物形态而设计的,后来史密斯于1984年 、普鲁辛凯维奇于1986年,分别将它应用于计算机图形学, 认为:种子中包含的信息不是整个树的信息,而是生成这个树木的规则!而这个规则…...