一.表格功能

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表格数据过滤复制到另外一个表格相关推荐

  1. R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字

    R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字 目录

  2. R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字、并为类型数据添加图像符号标签

    R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字.并为类型数据添加图像符号标签 目 ...

  3. 计算机一级表格加减乘除公式,excel怎样在一个表格内输入计算式,另一个表格内显示结果?【excel怎么做表格】...

    excel表格如何用公式计算加减乘除混合运算? excel表格如何用公式计算乘除运算: 直接在FX里面输入=C8*F8 G8.要先算加号,输入=C5*(F8 G8)可以了. 如何用Excel电子表格进 ...

  4. html表格数据按自定义公式自动计算,WPS表格如何设置自动计算公式

    WPS表格功能很强大,在平时工作时候会用到很多关于他的小技巧,那么一般要用到表格那些功效呢?下面学习啦小编就与大家分享WPS表格自动计算公式的方法. WPS表格设置自动计算公式方法 WPS表格设置步骤 ...

  5. 一张表格分成两页打印_excel一个表格自动分成两页怎么办

    经常在Excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格.但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许 ...

  6. python用xlwings从一个表格复制到另一个表格里,xls文件的某一解决方式。

    直接去最底部复制代码,每一行都有备注,能够看懂,中间是我在做的过程中踩到的坑. 我用python已经修改好了上传饿了么的表格,但是美团是xls格式,openpyxl好像是不能修改的 那么只有换个其他的 ...

  7. python处理wps表格数据匹配_两个excel表格数据匹配wps-WPS怎样用VLOOKUP引用另一个表格的数据...

    wps精确匹配,把一个wps表格里面的数据匹配到另一... 材料/工具:wps2016 1.打开匹配个表格,表1和表2. 2.在需要放匹配值的格中输入=vl,就会自动提示vlookup函 3.双击选择 ...

  8. excel表格中,公式生成的数据如何复制到另一个工作簿中?

    选中需复制的数据,复制,然后到另一个工作簿,点选择性粘贴,勾选数值,确定就ok了

  9. extjs 表格数据重新加载_一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...

    来源:DeepHub IMBA 本文约3000字,建议阅读5分钟我在PyTorch中对表格的数据加载器进行的简单更改如何将训练速度提高了20倍以上,而循环没有任何变化! 深度学习:需要速度 在训练深度 ...

  10. html怎么复制到Excel表格里,把页面html导出到excel表格数据-如何将网页中的表格快速复制到EXCEL中...

    如何将html里面的table导出成excel 使用table2excel插件需要在页面中jquery和jquery.table2excel.js文件. HTML结构 你可以将任何的HTML表格结构的 ...

最新文章

  1. paramiko安装
  2. linux命令下怎么保存python_Linux 环境下安装 Python3 的操作方法
  3. 打印机驱动程序属于计算机硬件吗,如何安装打印机驱动程序,详细教您如何给电脑安装打印机驱动程序...
  4. Android 的Google+平台
  5. MySQL升级后 MySQL 5.7 时间不兼容问题
  6. PAT1057 数零壹 (20 分)
  7. java猜数字代码,我写的猜数字游戏的java代码!
  8. 创业者都认为经营一家新公司最主要的目标是融资
  9. (转)马云又在押宝智能投顾!
  10. 姜启源《数学模型》笔记
  11. 软件评测师考试(总是记不住的知识点+错题小汇总+记忆方法小tips)
  12. 值得收藏的UmiJS 教程
  13. 【TsinsenA1339】JZPLCM(顾昱洲) 树状数组
  14. 关于vector在类中的声明用法
  15. 中国云计算的发展历史
  16. Flink 生产环境配置建议
  17. Ueditor去掉图片之间的间隙
  18. OpenWRT学习笔记(1)环境部署代码下载及编译
  19. 古代的银子和现在的人民币换算关系..
  20. postgis+geoserver最短路径

热门文章

  1. java Comparable 和 Cloneable接口
  2. STP实验(指定特定交换机为根桥)
  3. 20155202 《Java程序设计》实验二(面向对象程序设计)实验报告
  4. 读取内存数据,大航海家3的编辑器的一点思路
  5. SysUtils.Trim、SysUtils.TrimLeft、SysUtils.TrimRight - 删除空格
  6. 为什么RegisterClientScriptResource方法在自定义控件中的RenderContents期间不起作用?...
  7. 第二十一章 基于鹰栖息(eagle perching)的无模型优化
  8. 二叉树遍历的转换C++实现
  9. 智能优化算法应用:基于麻雀搜索算法的水文地质参数优化 -附代码
  10. 2020网上答题拿证书的竞赛_参赛答题拿证书—全国大学生知识竞赛