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

news2024/9/24 9:22:51

在这里插入图片描述

目录

  • 关键词
  • 平台说明
  • 背景
  • 所需库
    • 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.active

if os.path.exists('target1.xlsx'):
    wb_target = load_workbook('target1.xlsx')
else:
    wb_target = Workbook()
sheet_target = wb_target.active
 
global 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).value
        if data_source == "班级" and col == 1:
            break
        else:
            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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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 += 1
            elif 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('数据提取完成')

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

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

相关文章

Flutter 中数据存储的四种方式

在 Flutter 中,存储是指用于本地和远程存储和管理数据的机制。以下是 Flutter 中不同存储选项的概述和示例。 Shared Preferences(本地键值存储) Shared Preferences 是一种在本地存储少量数据(例如用户首选项或设置&#xff09…

【面试经典150 | 算术平方根】

文章目录 写在前面Tag题目来源解题思路方法一:数学表达式方法二:二分法 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并…

测试Bard和ChatGPT关于双休的法规和推理

Bard是试验品,chatgpt是3.5版的。 首先带着问题,借助网络搜索,从政府官方网站等权威网站进行确认,已知正确答案的情况下,再来印证两个大语言模型的优劣。 想要了解的问题是,在中国,跟法定工作…

全新云开发工具箱:融合多项功能的微信小程序源码解决方案

全新云开发工具箱:融合多项功能的微信小程序源码解决方案 这款微信小程序源码提供了超过40个功能,集合了各种实用工具,成为一款全能工具箱。这些功能包括证件照制作、垃圾分类查询、个性签名制作、二维码生成、文字九宫格、手持弹幕、照片压…

初识Java 18-1 泛型

目录 简单泛型 元组库 通过泛型实现栈类 泛型接口 泛型方法 可变参数和泛型方法 通用Supplier 简化元组的使用 使用Set创建实用工具 本笔记参考自: 《On Java 中文版》 继承的层次结构有时会带来过多的限制,例如:编写的方法或类往往…

记一次服务器配置文件获取OSS

一、漏洞原因 由于网站登录口未做双因子校验,导致可以通过暴力破解获取管理员账号,成功进入系统;未对上传的格式和内容进行校验,可以任意文件上传获取服务器权限;由于服务器上配置信息,可以进一步获取数据库权限和OSS管理权限。二、漏洞成果 弱口令获取网站的管理员权限通…

基于Vue+SpringBoot的城市桥梁道路管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统,支持…

系列四、强引用、软引用、弱引用、虚引用分别是什么?

一、整体架构 二、强引用(默认支持模式) 2.1、概述 当内存不足时,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会对该对象进行回收,死都不收。 强引用是我们最常见的普通对象引用,只…

腾讯云轻量数据库1核1G评测和租用价格表

腾讯云轻量数据库测评,轻量数据库100%兼容MySQL 5.7和8.0,腾讯云提供1C1G20GB、1C1G40GB、1C2G80GB、2C4G120GB、2C8G240GB五种规格轻量数据库,阿腾云atengyun.com分享腾讯云轻量数据库测评、轻量数据库详细介绍、特性、配置价格和常见问题解…

校园服装定制服务预约小程序的效果如何

对校园服装定制商家而言,如今线下流量稀缺,同行多且竞争激烈,同时这一行面对的消费者非大众,因此各品牌间都在通过各种方式进行同城或多地的客户拓展,但线下方式无疑是比较低效的。线上是一个不错的选择,不…

javaspringbootmysql学生社团管理系统26281-计算机毕业设计项目选题推荐(附源码)

目录 摘要 Abstract 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 学生社团管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析…

TensorRT量化实战课YOLOv7量化:YOLOv7-QAT量化

目录 前言1. YOLOv7-QAT流程2. QAT训练流程 前言 手写 AI 推出的全新 TensorRT 模型量化实战课程,链接。记录下个人学习笔记,仅供自己参考。 该实战课程主要基于手写 AI 的 Latte 老师所出的 TensorRT下的模型量化,在其课程的基础上&#xff…

【好用的个人工具】搭建一款实用的个人IT工具箱——it-tools

【好用的个人工具】搭建一款实用的个人IT工具箱——it-tools 一、it-tools介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载it-tools镜像五、部署it-tools工具箱5.1 创建…

Git精讲

Git基本操作 创建Git本地仓库 git initgit clone 配置Git git config [--global] user.name "Your Name" git config [--global] user.email "emailexample.com"–global是一个可选项。如果使用了该选项,表示这台机器上所有的Git仓库都会使…

YOLO免费数据集网站收集

目录 Roboflow Universe: Open Source Computer Vision Community Find Open Datasets and Machine Learning Projects | Kaggle ​编辑 【火焰和烟雾图像数据集】-计算机视觉数据集-极市开发者平台 (cvmart.net) 开放数据集- 飞桨AI Studio星河社区 - 人工智能学习与实训社…

lv11 嵌入式开发 ARM指令集中(汇编指令集) 6

目录 1.指令 1.1 数据处理指令:数学运算、逻辑运算 1.1.1数据搬移指令MOV 、MVN 1.1.2立即数 1.1.3 加法指令 1.1.4 减法指令 1.1.5 逆向减法指令 1.1.6 乘法指令 1.1.7 与、或、非、异或、左移、右移指令 1.1.8 位清零指令 1.1.9 格式扩展 1.1.10 数据运算指令对条件位…

SPASS-曲线估计

基本概念 曲线估计(曲线拟合、曲线回归)则是研究两变量间非线性关系的一种方法,选定一种用方程表达的曲线,使得实际数据与理论数据之间的差异尽可能地小。如果曲线选择得好,那么可以揭示因变量与自变量的内在关系&…

CentOS 7 安装CMake指定版本3.21.2

背景:今天在CentOS 7 电脑上安装C 日志框架SpdLog-1.12.0,提示如下错误信息: [rootlocalhost build]# cmake .. && make -j CMake Error at CMakeLists.txt:3 (cmake_minimum_required):CMake 3.10...3.21 or higher is required. …

基于黑寡妇算法优化概率神经网络PNN的分类预测 - 附代码

基于黑寡妇算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于黑寡妇算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于黑寡妇优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络…

【FPGA】Verilog:实现 RS 触发器 | Flip-Flop | 使用 NOR 的 RS 触发器 | 使用 NAND 的 RS 触发器

目录 0x00 RS 触发器(RS Flip-Flop) 0x01 实现 RS 触发器 0x02 使用 NOR 的 RS 触发器 0x03 使用 NAND 的 RS 触发器 0x00 RS 触发器(RS Flip-Flop) 触发器(Flip-Flop)是一种带有时钟的二进制存储设备…