[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('数据提取完成')

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

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

相关文章

C/C++统计数 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C统计数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C统计数 2021年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定一个数的序列S,以及一个区间[L, R], 求序列…

【C++入门到精通】新的类功能 | 可变参数模板 C++11 [ C++入门 ]

阅读导航 引言一、新的类功能1. 默认成员函数2. 类成员变量初始化3. 强制生成默认函数的关键字default4. 禁止生成默认函数的关键字delete5. override 和 final(1)override(2)final 二、可变参数模板递归函数方式展开参数包逗号表…

【c++随笔13】多态

【c随笔13】多态 多态性(Polymorphism)在面向对象编程中是一个重要概念,它允许以统一的方式处理不同类型的对象,并在运行时动态确定实际执行的方法或函数。一、什么是多态性?1、关键概念:C的多态性2、多态定…

3-docker安装centos7

CentOS7.9下安装完成docker后,后续我们可以在其上安装centos7系统。具体操作如下: 1.以root用户登录CentOS7.9服务器,拉取centos7 images 命令: docker pull centos:centos7 2.加载centos7 images并登录验证 命令:…

一种用于脑肿瘤和组织分割的具有体积特征对齐的三维跨模态特征交互网络

A 3D Cross-Modality Feature Interaction Network With Volumetric Feature Alignment for Brain Tumor and Tissue Segmentation 一种用于脑肿瘤和组织分割的具有体积特征对齐的三维跨模态特征交互网络背景贡献实验方法Cross-Modality Feature Interaction ModuleVolumetric …

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

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

树,二叉树,二叉树遍历,哈夫曼树(详解+刷题)

👂 后街男孩经典之精选 - 歌单 - 网易云音乐 👂 年轮(电视剧《花千骨》男声版插曲) - 汪苏泷 - 单曲 - 网易云音乐 目录 🌼5.1 -- 树 🌼5.2 -- 二叉树 1,性质 2,存储 3&#x…

Figma 插件学习(一)

一.插件介绍 插件在文件中运行,执行一个或多个用户操作,并允许用户自定义其体验或创建更高效的工作流程。 插件通过专用插件API与Figma的编辑器交互。还可以利用外部Web API。 1.插件API 插件API支持读写功能,允许查看、创建和修改文件的…

开源WIFI继电器之硬件电路

一、原理图 源文件 二、原理图说明 1、器件说明 U4:ESP8285模块 U6:触发器 U3:继电器 2、继电器状态检测说明 检测继电器线圈是否通电来判断继电器是否导通,当Q1不导通时,Q1集电极的电压为3.3V,经…

【项目管理】中途接手的项目应对实用指南

导读:作为项目经理中途接手项目往往不可避免,为了保证项目成功需要项目经理额外考虑更多的因素和处理相关问题,也往往带来很大的挑战性。本文提供可应对借鉴的思路,在一定程度上可以作为最佳实践。 目录 1、首先、了解项目项目背…

[AutoSar]导出task mapping 表到excel

目录 关键词平台说明背景实现方法 关键词 嵌入式、C语言、autosar 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C,C编译器HighTec (GCC) 背景 为了做文档输出,要导出task mapping 到excel。 实现方法 1.按住shift&#xf…

Windows核心编程 静态库与动态库

资源文件 .rc 文件 会被 rc.exe 变成 .res 文件(二进制文件) 在链接时链接进入 .exe 文件 一、如何保护源码 程序编译链接过程 不想让别人拿到源代码,但是想让其使用功能,根据上图观察,把自己生成的obj给对方,对方拿到obj后&…