从Excel获取整列内容进行批量扫描
实习工作原因,需要测试excel表里面ip地址是否存在漏洞,扫了一眼,呕,四五百个IP,光是挨个进行访问,都是一个浩大的工程,所以准备开始摸鱼认真工作
思路是:excel按列提取->将IP按行存储在txt文件中->对TXT中的IP进行批量扫描操作
excel按列提取
参考自:https://www.cnblogs.com/xiao987334176/p/11240086.html
excel大概长这样:

使用python xlrd库,打开excel文件,创建一个workbook对象,book对象也就是我本地的wordexcel.xlsx
import xlrd
filename='workexcel.xlsx'
rbook=xlrd.open_workbook(filename)
选择第一个工作簿
rsheet=rbook.sheet_by_index(0)
我们遍历每一行,IP地址所在列下标为15,取其值
for row in rsheet.get_rows():
ips=row[15].value.split()
使用split()是为了防止有一个单元格中存在多行IP的情况
同时使用python集合来存储,防止重复:
ipset=set()
for row in rsheet.get_rows():
ips=row[15].value.split()
for ip in ips:
if ip!="IP地址":
# print("="*30)
ipset.add(ip)
接着是保存ip的集合,这个比较简单,就直接给代码了:
def SaveSet(ipset):
filename='test.txt'
try:
with open(filename, 'w') as f:
while len(ipset) != 0:
f.write(ipset.pop() + '\n')
except Exception as e:
print(e)
pass
return
所有代码为:
import xlrd def SaveSet(ipset):
filename='test.txt'
try:
with open(filename, 'w') as f:
while len(ipset) != 0:
f.write(ipset.pop() + '\n')
except Exception as e:
print(e)
pass
return def GetData():
filename='workexcel.xlsx'
rbook=xlrd.open_workbook(filename)
rsheet=rbook.sheet_by_index(0)
ipset=set()
for row in rsheet.get_rows():
ips=row[15].value.split()
for ip in ips:
if ip!="IP地址":
# print("="*30)
ipset.add(ip)
SaveSet(ipset) def main():
GetData() if __name__=='__main__':
main()
运行之后成功获取excel中的所有IP,接下来就能进行快乐批量啦~~
从Excel获取整列内容进行批量扫描的更多相关文章
- 怎样把excel整列单元格批量改为文本格式
		
选中整列,进入“数据”菜单栏,点击“分列”,[列数据格式]选“文本”,点击“完成”即可.
 - Excel 多/整列(多/整行)移位操作
		
步骤1:创建测试数据 步骤2:把B列和C列进行移位操作(整列移位操作,多列移位操作方法一样) 选中B列,鼠标放到B列边缘地带,直到鼠标显示带有四个箭头方向为止,点击键盘shift键进行拖拽,拖拽时显示 ...
 - 如何使用Excel选择整列排序
		
在excel中,排序的时候弹窗提示“若要执行此操作,所有合并单元格需大小相同”,该怎么操作才能实现排序呢?接下来,小编就和大家分享具体操作. 工具/原料 excel 方法/步骤 打开出 ...
 - thinkphp getField()获取一列或一个数据
		
在开发中经常要获取一个数据的情况,thinkphp中有一个getField()方法可以解决这个问题. 获取一个数据 1 2 $user = M('demo'); $data = $user->g ...
 - excel 如何为列添加指定内容(字符串)
		
excel 如何为列添加指定内容(字符串) CreateTime--2018年5月26日17:52:32 Author:Marydon 1.情景展示 D列的值需要获取B列的值并且在后面统一加上12 ...
 - Python批量修改Excel中的文件内容
		
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join ...
 - 从excel 获取内容 模块:xlrd
		
import xlrd # 获取表的对象 excel = xlrd.open_workbook(‘a.excel’) # 获取所有excel里的所有表 table_list = excel.sheet ...
 - 分列:将excel单元格的内容拆分为两列
		
提要:处理excel数据时有时需要把单元格的内容拆分为两列,可能方便外部软件的链接,可能使数据显示更明晰等等,有人说直接剪切加粘贴不就可以了吗,但是有时数据过多,这样处理很不效率,网上搜索的方法说插入 ...
 - POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取
		
第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...
 
随机推荐
- 随笔1.流程控制--if
			
# 流程控制--if `-*- coding:utf-8 -*- #定义字符编码`## 1.判断条件if```python age = input("输入年龄:") #将交互式输入 ...
 - CSS3:overflow属性详解
			
1.Overflow overflow为溢出(容器),当内容超出容器时只需添加overflow属性值为hidden, 就可以把超出容器的部分隐藏起来: 如果内容超出容器却又不想其隐藏时可以将其属性值设 ...
 - 浮动布局问题多,还是用inline-block吧
			
说说知识陈旧的问题. 目前我的前端开发知识积累最大的问题就是版本问题,也许我已经经历了很多,尝试了很多, 但是有些知识的版本已经过时了,而我还没有来得及更新它们.更悲剧的可能是有些部分我还没有意识到. ...
 - 强迫自己学Jquery
			
Jquery 适合我吗? 里面有很多用不上的功能, 我需要什么,常用的判断,常用的扩展,来自Dojo的Hitch函数,事件绑定,样式处理(添加 删除 替换),Ajax,模块加载, 足够了,真心不想用这 ...
 - javascript函数式编程基础随笔
			
JavaScript 作为一种典型的多范式编程语言,这两年随着React\vue的火热,函数式编程的概念也开始流行起来,lodashJS.folktale等多种开源库都使用了函数式的特性. 一.认识函 ...
 - 转 Cache一致性和内存模型
			
卢本伟牛逼,写得很好 https://wudaijun.com/2019/04/cpu-cache-and-memory-model/ 本文主要谈谈CPU Cache的设计,内存屏障的原理和用法,最后 ...
 - Golang 接口型函数和http.Handler接口
			
一.接口型函数 参考Golang必备技巧:接口型函数 1.原始接口实现 type Handler interface { Do(k, v interface{}) } func Each(m map[ ...
 - CSP-S 2020 Travels
			
CSP-S 2020 Travels DAY 0 I hit the board in the morning before departure The rest of the time is dec ...
 - uboot分析——makefile
			
1.makefile分析 $(TOPDIR)/makefile | |-----> include $(obj)/include/config.mk 确定板子环境 | || | V |---- ...
 - 快速增加osdmap的epoch
			
最近因为一个实验需要用到一个功能,需要快速的增加 ceph 的 osdmap 的 epoch 编号 查询osd的epoch编号 root@lab8107:~# ceph osd stat osdmap ...