领导今天给了一个任务 甩过来一张excel表格
所有的应用系统和服务器IP节点的名称,好几万行。 几百个系统,几万个IP,然后给了40多个系统,让把所有这40个系统对应的所有ip节点找出来,excel本身应该也可以处理,但是比较复杂,于是想到用python openpyxl模块处理。
脚本思路:
所有的系统和ip放到第一个sheet 需要找节点的40个系统放在第二个sheet,for 循环从第二个sheet系统里面第一个值开始循环,嵌套循环,比对第一个sheet里面的系统值,如果系统值相等就将系统和ip写到一个新的txt中(追加写入),这样就找到了所有这40个系统的ip值。
脚本:
import openpyxl
from openpyxl import Workbook
txt=open("result.txt",'w')
wb=openpyxl.load_workbook('ip.xlsx')
ws1=wb['Sheet1']
ws2=wb['Sheet2']
ws3=wb['Sheet3']
n1=ws1.max_row
n2=ws2.max_row
for a in range(1,n2):
sys=ws2['A%d' %a].value
for b in range(2,n1+1):
sys1=ws1['A%d' %b].value
ip1=ws1['B%d' %b].value
if sys == sys1:
txt.write("%s %s\n" %(sys1,ip1))
txt.close()