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

在这里插入图片描述

关键词

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值