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

news/2024/7/21 5:21:32 标签: python, excel, java

在这里插入图片描述

目录

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

关键词

==pythonexcel、DBC、openpyxl ==

平台说明

项目Value
python版本3.6

背景

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

所需库

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

1.安装相关库

python">pip install openpyxl 

2.代码实现

source

在这里插入图片描述

target1

在这里插入图片描述

python">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.niftyadmin.cn/n/5195842.html

相关文章

Python---return返回值

return返回值 返回值:很多函数在执行完毕后,会通过return关键字返回一个结果给 调用它的位置。 return 英 /rɪˈtɜːn/ n. 回来,返回; 思考:如果一个函数需要两个return (如下所示),程序如何执行&…

6 Redis的慢查询配置原理

1、redis的命令执行流程 redis的慢查询只针对步骤3 默认情况下,慢查询的阈值是10ms

GIT无效的源路径/URL

ssh-add /Users/haijunyan/.ssh/id_rsa ssh-add -K /Users/haijunyan/.ssh/id_rsa

C++模拟实现——红黑树封装set和map

一、红黑树迭代器的实现 基本的框架和实现链表的迭代器思路是一样的,都是对指针进行封装处理,然后实现一些基本的运算符重载,最重要的是operator,需要不递归的实现走中序的规则,这里只实现那最核心的几个基本功能&…

Tomcat无法映射到activiti-app导致activiti无法启动页面

原因之一:JDK版本与Tomcat版本不匹配,jdk8 yyds 我使用的是JDK11,Tomcat是9.0的,都是最新的,但还是不行,最后JDK改为8,tomcat的cmd后台没有报错,activiti-pp也可以正常访问了,很神奇…

Linux调试器:gdb的使用

我们知道在Visual Studio2022中,我们可以对编好的代码进行调试来分析dug的位置,那Linux环境下如何进行程序的调试呢?那就是使用Linux调试器:gdb。 目录 1.背景 2. 开始使用 1.背景 程序的发布方式有两种,debug模式…

论文-分布式-拜占庭将军问题

目录 0-前言 1-导引 2-不可能性 3将军(1叛徒)问题不存在解/不能达成共识 少于3m1个将军(有m个叛徒)不存在解/不能达成共识 精确一致性与近似一致性是同等困难的 3-使用口头消息的解 “口头消息”的含义 OM(m)算法的步骤 OM(m)算法的正确性推导 4-使用签名消息情况下…

你知道什么是SaaS吗?

你知道什么是SaaS吗? 云服务架构的三个概念 PaaS 英文就是 Platform-as-a-Service(平台即服务)PaaS,某些时候也叫做中间件。就是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开…