python表格数据过滤复制到另外一个表格
一.表格功能
1.表格1 原始数据,需要过滤其中一些字段信息,复制到另一个表格中
2.另外一个表格中需要固定添加固定列的内容
3.从原始表格中复制数据,填充到另外一个表格中
--------
二授权功能的实现
调用了mac地址码,制作了一个简单的授权系统以及如何判断数据,进行登录的验证
三.代码部分
from openpyxl import load_workbook
import os
import time
from psutil import net_if_addrs
import pickle
import sys# mac地址注册信息码:全局变量
maclist=[]for k,v in net_if_addrs().items():for item in v:address=item[1]if '-' in address and len(address)==17:# print(address) # 遍历所有mac地址,添加到maclist列表中。maclist.append(address)#授权系统,获取系统的mac地址作为授权的依据# 授权文件生成的函数定义def grandkey0():if (os.path.exists("ht.key0")) != True:maclist = []for k, v in net_if_addrs().items():for item in v:address = item[1]if '-' in address and len(address) == 17:# print(address)maclist.append(address)# 加盐处理,分别在文件前和后都是添加了内容maclist.append("@@世界人***民大团结&&&")maclist.append("@@###四大名著@@###&&&***!!")maclist.insert(0, "和平的象征和平鸽")# 生成key1fkey = open("./ht.key0", "wb")pickle.dump(maclist, fkey)fkey.close()"""
V2版本主要添加注册的功能,通过获取电脑的MAC进行文件的注册
"""
"""
使用说明:
必须的有个模板文件[从视综平台中导出的文件,而且必须带有一行原始数据,作为填写的依据,切记:]
"""
"""
修改为单机使用的版本
实现读取给定的版本的,可以完成所有数据的填写""""""
这个程序是在对应的excel表格的基础上进行的数据分析
表格内容:原始表,pvg生成的数据,【里面只有一个“"Sheet0"】
目标表:要导入视频综合的表【里面包含两个sheet表,"设备信息","通道信息"】
实现的原理,把pvg中的sheet0中的信息,梳理后,自动复制到生成表的的这两个sheet表中-“设备信息","通道信息"
""""""
t3版本,需要封装成函数,同时需要批量生成结果数据""""""
把所有excel表格加入到列表中进入录入,jobque()的返回结果就是一个装有excel的列表
"""
# def jobque():
# # 获得当前路径
# cwd = os.getcwd()
#
# # 存放进行数据的分析的excel文件目录
# datasource = "{}/data".format(cwd)
#
# # 列出所有文件
# allfile = os.listdir(datasource)
# # 接收excel任务的列表
# quelist = []
#
# for item in allfile:
# # print(item) # 如果是文件的话 就是打印出来
# if (item.endswith("xlsx")):
# # pass #加入到一个应用列表处理
# quelist.append(item)
#
# return quelist# 在T1基础上完成第二个通道信息的优化填写
# 数据源数据# 获得最大列和最大行
# print(sheet.max_row)
# print(sheet.max_column)# 授权验证
def authkey():#秘钥生成函数key0,系统一运行就是差生key0grandkey0()#获取秘钥key1的文件,进行判断,如果失败,就是退出程序# key1.1.1判断是否存在key1文件,不存在就是退出if (os.path.exists("ht.key1")) != True:print("请把生成的key0,发起授权,请进行文件的注册!")sys.exit()# 判断key1是否在系统的mac地址中,如果不在就是退出系统# 获取key1的内容,与系统maclist进行对比,如果有就是登录成功fkey1 = open("./ht.key1", "rb")listkey1 = pickle.load(fkey1)# print("不匹配的ht.key1,退出系统")if listkey1 not in maclist:sys.exit()def mtheread():print("=========欢迎使用pvg10.x====>视频综合URM的转换程序============")# print("=================HT2021-11-21V1.0单任务版本================")# print("=====运行程序时候,请关闭相关的excel表格======")pvg10=input("请输入pvg10.x的表格名称:")pvg10=pvg10.strip()if(not pvg10.endswith("xlsx")):pvg10=(pvg10+".xlsx")sz3 = input("请输入导入视频综合平台的模板文件的名称:")sz3=sz3.strip()if (not sz3.endswith("xlsx")):sz3 = (sz3 + ".xlsx")# wb = load_workbook("./pvgnew.xlsx")wb = load_workbook(pvg10)sheet = wb["Sheet0"]# ================# 生成数据表格,也是需要读取,下面的是模板文件# wbdevice = load_workbook("./dest.xlsx")wbdevice = load_workbook(sz3)sheetdestdevide = wbdevice["设备信息"]sheetdestchanel = wbdevice["通道信息"]#从模板中的设备信息中---需要把这几个代码取出来,存起来 “设备所属行政区域代码(建议填写) 管辖单位代码(建议填写) 安装地点行政区划代码”#从模板的通道信息中,取出“IP地址(必填)“areacode=sheetdestdevide.cell(2,9).valueunitacode=sheetdestdevide.cell(2,10).valueaddresscode=sheetdestdevide.cell(2,11).value#获取模板通道中的IP地址那列数据ipaddress=sheetdestchanel.cell(2,13).value# print(areacode,unitacode,addresscode,ipaddress)# print("=========")max_row = sheet.max_row+1 # 从原始表中去数据,然后存入到新表中max_column = sheet.max_column+1for i in range(2,max_row):for j in range(1,max_column):if(j==1): #设备名称,j是数据源的列信息。sheetdestdevide.cell(row=i,column=j).value=sheet.cell(row=i,column=j).value# 通道信息的数据写入sheetdestchanel.cell(row=i, column=j).value = sheet.cell(row=i, column=j).value# sheetdestdevide.cell(row=i,column=j).value=sheet.cell(row=i,column=j).value#上面的字段信息是 把原始【pvg】的导出的信息,复制给目标表指定列信息,完成数据交换elif(j==31): # pvm通道信息,jTSBDUJheS3Isheetdestdevide.cell(row=i, column=2).value = sheet.cell(row=i, column=j).valuesheetdestdevide.cell(row=i, column=4).value = sheet.cell(row=i, column=j).valuesheetdestdevide.cell(row=i, column=7).value = sheet.cell(row=i, column=j).value# 通道信息的写入sheetdestchanel.cell(row=i, column=2).value = sheet.cell(row=i, column=j).valuesheetdestchanel.cell(row=i, column=4).value = sheet.cell(row=i, column=j).valuesheetdestchanel.cell(row=i, column=7).value = sheet.cell(row=i, column=j).valueelif(j==6): #国标编号sheetdestdevide.cell(row=i, column=3).value = sheet.cell(row=i, column=j).value# 通道信息的写入sheetdestchanel.cell(row=i, column=3).value = sheet.cell(row=i, column=j).valueelif (j == 8): # 横坐标sheetdestdevide.cell(row=i, column=12).value = sheet.cell(row=i, column=j).valueelif (j == 9): # 纵坐标sheetdestdevide.cell(row=i, column=13).value = sheet.cell(row=i, column=j).value# 取生成表最大的行,然后填充,第5,6列,6“设备对象类型--->摄像机”,“摄像”# 取新表的最大行max_row_dest = sheetdestdevide.max_row + 1for i in range(2,max_row_dest):sheetdestdevide.cell(row=i, column=5).value="摄像机"sheetdestdevide.cell(row=i, column=6).value="摄像"# 从模板中的设备信息中 - --需要把这几个代码取出来,存起来 “设备所属行政区域代码(建议填写)# 管辖单位代码(建议填写)# 安装地点行政区划代码”# 从模板的通道信息中,取出“IP地址(必填)“# 调用上面模板中获取的数据“areacode,unitacode,addresscode”sheetdestdevide.cell(row=i, column=9).value=areacodesheetdestdevide.cell(row=i, column=10).value=unitacodesheetdestdevide.cell(row=i, column=11).value=addresscodemax_row_chanel = sheetdestchanel.max_row + 1for i in range(2, max_row_chanel):# 通道信息里面需要写入的内容,12,~~~16列“开流方式(必填) IP地址(必填) 端口号(必填) 用户名(必填) 密码(必填)”sheetdestchanel.cell(row=i, column=13).value = ipaddresssheetdestchanel.cell(row=i, column=12).value = "10.1开流方式"sheetdestchanel.cell(row=i, column=14).value = "2015"sheetdestchanel.cell(row=i, column=15).value = "admin"sheetdestchanel.cell(row=i, column=16).value = "a123456"# print(sheet.cell(row=i,column=j).value)# 保存文件名称newSave="Dest_{}".format(pvg10)# wbdevice.save("./newdest.xlsx") #保存数据wbdevice.save(newSave) #保存数据print("{}数据已经生成,请去目录中查询!".format(newSave))print("海涛:2021-11-21")print(time.sleep(1))if __name__ == '__main__':authkey() #授权验证while(True):try:print("=================HT2021-11-21V1.0单任务版本================")flag=input("是否继续处理数据y/n:")if(flag.lower()=='y'):mtheread()else:breakexcept Exception as e:print(e)print("数据处理完毕,到目录中查询数据!")print(time.sleep(3))
python表格数据过滤复制到另外一个表格相关推荐
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字
R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字 目录
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字、并为类型数据添加图像符号标签
R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字.并为类型数据添加图像符号标签 目 ...
- 计算机一级表格加减乘除公式,excel怎样在一个表格内输入计算式,另一个表格内显示结果?【excel怎么做表格】...
excel表格如何用公式计算加减乘除混合运算? excel表格如何用公式计算乘除运算: 直接在FX里面输入=C8*F8 G8.要先算加号,输入=C5*(F8 G8)可以了. 如何用Excel电子表格进 ...
- html表格数据按自定义公式自动计算,WPS表格如何设置自动计算公式
WPS表格功能很强大,在平时工作时候会用到很多关于他的小技巧,那么一般要用到表格那些功效呢?下面学习啦小编就与大家分享WPS表格自动计算公式的方法. WPS表格设置自动计算公式方法 WPS表格设置步骤 ...
- 一张表格分成两页打印_excel一个表格自动分成两页怎么办
经常在Excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格.但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许 ...
- python用xlwings从一个表格复制到另一个表格里,xls文件的某一解决方式。
直接去最底部复制代码,每一行都有备注,能够看懂,中间是我在做的过程中踩到的坑. 我用python已经修改好了上传饿了么的表格,但是美团是xls格式,openpyxl好像是不能修改的 那么只有换个其他的 ...
- python处理wps表格数据匹配_两个excel表格数据匹配wps-WPS怎样用VLOOKUP引用另一个表格的数据...
wps精确匹配,把一个wps表格里面的数据匹配到另一... 材料/工具:wps2016 1.打开匹配个表格,表1和表2. 2.在需要放匹配值的格中输入=vl,就会自动提示vlookup函 3.双击选择 ...
- excel表格中,公式生成的数据如何复制到另一个工作簿中?
选中需复制的数据,复制,然后到另一个工作簿,点选择性粘贴,勾选数值,确定就ok了
- extjs 表格数据重新加载_一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...
来源:DeepHub IMBA 本文约3000字,建议阅读5分钟我在PyTorch中对表格的数据加载器进行的简单更改如何将训练速度提高了20倍以上,而循环没有任何变化! 深度学习:需要速度 在训练深度 ...
- html怎么复制到Excel表格里,把页面html导出到excel表格数据-如何将网页中的表格快速复制到EXCEL中...
如何将html里面的table导出成excel 使用table2excel插件需要在页面中jquery和jquery.table2excel.js文件. HTML结构 你可以将任何的HTML表格结构的 ...
最新文章
- paramiko安装
- linux命令下怎么保存python_Linux 环境下安装 Python3 的操作方法
- 打印机驱动程序属于计算机硬件吗,如何安装打印机驱动程序,详细教您如何给电脑安装打印机驱动程序...
- Android 的Google+平台
- MySQL升级后 MySQL 5.7 时间不兼容问题
- PAT1057 数零壹 (20 分)
- java猜数字代码,我写的猜数字游戏的java代码!
- 创业者都认为经营一家新公司最主要的目标是融资
- (转)马云又在押宝智能投顾!
- 姜启源《数学模型》笔记
- 软件评测师考试(总是记不住的知识点+错题小汇总+记忆方法小tips)
- 值得收藏的UmiJS 教程
- 【TsinsenA1339】JZPLCM(顾昱洲) 树状数组
- 关于vector在类中的声明用法
- 中国云计算的发展历史
- Flink 生产环境配置建议
- Ueditor去掉图片之间的间隙
- OpenWRT学习笔记(1)环境部署代码下载及编译
- 古代的银子和现在的人民币换算关系..
- postgis+geoserver最短路径
热门文章
- java Comparable 和 Cloneable接口
- STP实验(指定特定交换机为根桥)
- 20155202 《Java程序设计》实验二(面向对象程序设计)实验报告
- 读取内存数据,大航海家3的编辑器的一点思路
- SysUtils.Trim、SysUtils.TrimLeft、SysUtils.TrimRight - 删除空格
- 为什么RegisterClientScriptResource方法在自定义控件中的RenderContents期间不起作用?...
- 第二十一章 基于鹰栖息(eagle perching)的无模型优化
- 二叉树遍历的转换C++实现
- 智能优化算法应用:基于麻雀搜索算法的水文地质参数优化 -附代码
- 2020网上答题拿证书的竞赛_参赛答题拿证书—全国大学生知识竞赛