# coding = 'utf-8'
# 依据excel表格中所提供的IP,在另一张表中查找其所属网段
import pandas as pd
import IPy df = pd.read_excel('net.xlsx')
col_name = df.columns.tolist()
index = col_name.index('IP地址') + 1
col_name.insert(index, '所属子网')
df = df.reindex(columns=col_name) data = df["IP地址"] df2 = pd.read_excel('net.xlsx', sheet_name='Sheet2')
# nets = ["192.168.0/24", "192.168.1.0/24"]
nets = df2["网段"] new_col = []
tmp_data = "" # 新建一列保存用于数据,判断某列是否满足一个列表中的条件,满足保存条件,不满足保存自身。
"""
for i in data:
for net in nets:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_data = net.strip()
elif tmp_data == "" and IPy.IP(net.strip()).overlaps(i.strip()) != 1:
tmp_data = i.strip()
new_col.append(tmp_data)
tmp_data = ""
df["所属子网"] = new_col
print(df)
"""
# 新建一列保存用于数据,判断某列是否满足一个列表中的条件,满足保存条件,不满足保存自身。 tmp_list = []
flag = False
for net in nets:
for i in data:
if not flag:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_list.append(net.strip())
else:
tmp_list.append(i.strip())
else:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_list = [net.strip() if tmp.strip() == i.strip() else tmp.strip() for tmp in tmp_list]
flag = True
df["所属子网"] = tmp_list pd.DataFrame(df).to_excel("result_net.xlsx", sheet_name="Sheet1", index=False)

python 依据IP查找其所属网段的更多相关文章

  1. IP查找所属网段

    最近同学接到阿里面试题 package io.guangsoft.analysis; /* 数据文件: 1.1.1.0/24,123 1.1.2.0/28,345 1.2.0.0/16,789 */ ...

  2. Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...

  3. vmware中虚拟机与主机ping不通,桥接模式,IP地址在同一网段,无法互ping!

    现象描述:网卡选用的桥接模式,IP地址在同一个网段,虚拟机内部可以正常上网,但是Guest OS和Host OS无法互ping! 原因:虚拟机里的防火墙没有关闭,导致禁用ping功能. 解决方法:关闭 ...

  4. python匹配ip正则

    python匹配ip正则 #!/usr/bin/env python # -*- coding:utf-8 -*- import re ip_str = "asdad1.1.1.1sdfwe ...

  5. 谢欣伦 - OpenDev原创教程 - 本地IP查找类CxLocalHostIPAddrFind

    这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: ...

  6. python通过ip获取地址

    # -*- coding: utf-8 -*- url = "http://ip.taobao.com/service/getIpInfo.php?ip=" #查找IP地址 def ...

  7. PHP ip 查找 城市名

    PHP ip 查找 城市名 header("content-type:text/html;charset=utf-8");date_default_timezone_set(&qu ...

  8. 用Python和FFmpeg查找大码率的视频文件

    用Python和FFmpeg查找大码率的视频文件 本文使用Python2.7, 这个工作分两步 遍历目录下的视频文件 用ffprobe获取是视频文件的码率信息 用ffprobe 获取json格式的视频 ...

  9. nginx之依据IP做限制

    环境如下: [root@localhost ~]# cat /etc/issueCentOS release 6.5 (Final)Kernel \r on an \m[root@localhost ...

  10. Python实现二分查找

    老生常谈的算法了. #!/usr/bin/python # -*- coding:utf-8 -*- # Filename: demo.py # 用python实现二分查找 def binarySea ...

随机推荐

  1. 【中间件】K8S-kubernetes

    一.概念 1.为什么使用k8s 生产型应用会涉及多个容器.这些容器必须跨多个服务器主机进行部署 可以构建跨多个容器的应用服务.跨集群调度.扩展这些容器,并长期持续管理这些容器的健康状况 在Docker ...

  2. CountDownLatch闭锁源码解析(基于jdk11)

    目录 CountDownLatch闭锁源码解析(基于jdk11) 1.1 CountDownLatch概述 1.2 CountDownLatch原理 1.2.1 基本结构(jdk11) 1.2.2 a ...

  3. <五>function的实现原理

    类模版std::function是一种通用.多态的函数封装.std::function的实例可以对任何可以调用的目标实体进行存储.复制.和调用操作,这些目标实体包括普通函数.Lambda表达式.函数指 ...

  4. python什么是异常?如何处理异常

    异常处理 什么是异常 异常是程序错误发生的信号.程序一旦出现错误,就会产生一个异常,如果程序中没有处理该异常,该异常就会抛出来,程序的运行也随即终止. 错误分为两种 1.语法错误 2.逻辑错误 如何处 ...

  5. f-strings: Python字符串处理的瑞士军刀

    从 3.6 开始,Python 新增了一个格式化字符串的方法,称之为 f-string. 其用法就是在python原始字符串的基础上增加 f/F 前缀,以大括号 {} 标明被替换的字段. f-stri ...

  6. [python] Python map函数总结

    Python map函数总结 本文主要介绍如何使用Python(Python3版本)的内置map()函数.简单来说map()函数会将指定的函数依次作用于某个序列的每个元素,并返回一个迭代器对象.map ...

  7. Js文件名 排序

    参考了别人帖子后,调整之后的排序方法,更加精确.(参考链接在底部) 压缩版 function strCompare(str1,str2){if(str1==undefined&&str ...

  8. C++ 编译依赖管理系统分析以及 srcdep 介绍

    C++ 编译依赖管理系统分析以及 srcdep 介绍 如果用 C++ 写一个中小型软件,有要用到很多第三方库的话,相信不少人会觉得比较麻烦.很多新兴的语言都有了统一的依赖管理系统和构建系统,但是 C/ ...

  9. spark RPC超时造成任务异常 Attempted to get executor loss reason for executor id 17 at RPC address 192.168.48.172:59070, but got no response. Marking as slave lost.

    日志信息如下 Attempted to get executor loss reason for executor id 17 at RPC address 192.168.48.172:59070, ...

  10. 对 Pulsar 集群的压测与优化

    前言 这段时间在做 MQ(Pulsar)相关的治理工作,其中一个部分内容关于消息队列的升级,比如: 一键创建一个测试集群. 运行一批测试用例,覆盖我们线上使用到的功能,并输出测试报告. 模拟压测,输出 ...