首页 > 其他分享 >自动化ping测网络连通性监测与Excel自动记录

自动化ping测网络连通性监测与Excel自动记录

时间:2023-11-14 16:45:09浏览次数:40  
标签:连通性 自动记录 ping Excel delay ip sheet row

根据现有提供海量ip进行检测网络质量,如果手动操作那将成为一项很难完成的操作。为了简化这一任务,可以使用 Python自动化脚本,利用 openpyxlpythonping 库,自动执行 ping 测试并记录结果到 Excel 文件。

openpyxl:
openpyxl 是一个用于操作 Excel 文件的库。它允许你读取、写入和修改 Excel 文件(.xlsx 格式)中的数据。你可以创建、编辑和格式化 Excel 表格,进行单元格操作,添加图表等。

pythonping:
pythonping 是一个用于执行网络 ping 测试的库。通过发送 ICMP Echo 请求到目标主机并接收响应,它可以测量网络连接的延迟,并提供有关丢包率等信息。

1. 准备工作

首先,我们需要安装所需的 Python 库。在终端中运行以下命令:

pip install openpyxl pythonping

这将安装 openpyxlpythonping 库。

2、脚本

# !/usr/bin/python3

import openpyxl
from pythonping import ping

def ping_and_update_excel(ip, row, sheet):
    try:
        # 执行 ping 测试
        result = ping(ip, count=2)

        if result is not None and result.rtt_avg:
            # 将秒转换为毫秒
            avg_delay = result.rtt_avg * 1000
            max_delay = result.rtt_max * 1000
            min_delay = result.rtt_min * 1000
            packet_loss = round(result.packet_loss)

            # 保留三位小数
            avg_delay = round(avg_delay, 3)
            max_delay = round(max_delay, 3)
            min_delay = round(min_delay, 3)

            # 更新 Excel 表格中的值
            sheet.cell(row=row, column=4, value=avg_delay)  # 平均延时
            sheet.cell(row=row, column=5, value=max_delay)  # 最大延时
            sheet.cell(row=row, column=6, value=min_delay)  # 最小延时
            sheet.cell(row=row, column=7, value=packet_loss)  # 丢包数

            print(
                f"Updated {ip} at row {row} with actual values - Average: {avg_delay} ms, Max: {max_delay} ms, Min: {min_delay} ms.")
        else:
            print(f"Failed to ping {ip}.")
    except Exception as e:
        print(f"Error while pinging {ip}: {e}")


def main():
    # 打开 Excel 文件
    excel_file = "test1.xlsx"
    wb = openpyxl.load_workbook(excel_file)
    sheet = wb.active

    # 添加新的表头
    new_headers = ["平均延时", "最大延时", "最小延时", "丢包数"]
    for col_num, header in enumerate(new_headers, start=4):
        sheet.cell(row=1, column=col_num, value=header)

    # 循环测试
    for row in range(2, sheet.max_row + 1):
        ip = sheet.cell(row=row, column=1).value
        if ip:
            print(f"Pinging {ip}...")
            ping_and_update_excel(ip, row, sheet)

    # 保存
    wb.save(excel_file)


if __name__ == "__main__":
    main()

脚本说明

  • 测试数据将以ICMP返回数据作为解析原始数据
  • 脚本会打开名为 test1.xlsx 的 Excel 文件,执行 ping 测试并更新文件中的数据。
  • 新的数据将包括平均延迟、最大延迟、最小延迟和丢包数。

4. 运行脚本

在终端中运行脚本:

python3 ping.py

脚本将执行 ping 测试结束,并将结果更新到 Excel 文件中。


 更多请见:https://mefj.com.cn/lur5066.html

标签:连通性,自动记录,ping,Excel,delay,ip,sheet,row
From: https://www.cnblogs.com/mefj/p/17831962.html

相关文章

  • VUE 前端读取excel表格内容
    <el-uploadclass="upload-demo":action="''":show-file-list="false":auto-upload="false":before-upload="beforeUpload":on-success="handleSuccess&quo......
  • Excel文件批量合并
    1.首先把所有需要合并的表格放在一个文件夹里,方便后续选取数据。2.打开其中一张表格,点击【数据】-【新建查询】-【从文件】-【从文件夹】。3. 在弹出框中,选择需要汇总的表格所存放的文件夹,点击【确定】。4.在【组合】中选择【合并和加载】,点击【确定】。然后点击【Sheet1......
  • python连接数据库导入excel查询结果
    下面是主要代码部分 #安装包pymysql,excel导入模块importpymysql#安装sql连接库模块importpandasaspd#安装excel导入模块#连接数据库conn=pymysql.connect(  host='cs-cn',#连接地址  port=4037,            #连接端口  ......
  • 如何让Excel文件和网站服务器交互呢?
    要实现Excel文件和网站服务器的交互,有几种常见的解决方案,包括:使用Excel插件:你可以使用一些Excel插件来实现Excel文件与网站的交互。这些插件可以使Excel文件具备与网站进行数据交换的能力。例如,你可以使用PowerQuery插件来连接Excel和网站的API,实现数据的导入和导出。将Excel转换......
  • Excel区间频率统计
    有时候会使用Excel统计一下分段区间数据的频率,也就是数据在不同的区间的分布情况。下面案例就是使用Excel统计一下数据的区间分布情况。使用frequency函数可以得到想要的结果。公式=frequency(数据列,分界区间),然后CTRL+SHIFT+ENTER注意点:要全部选中要填写的表格,在这里就......
  • excel条件格式——表格改动标记颜色
    工作中有一部分excel的工作处理。有几个场景我比较常用,记录下来。场景一:有一个大表excel,需要发给负责人核实里面的条目是否新增、改动。对方改动之后,会回复邮件给我。那我收到对方发来的附件,如何辨别改了哪里呢?需求:我需要很快识别出对方改动了哪里。于是在发送给对方excel表格之前,......
  • excel导出datatable数据
    使用NPPlus处理excelprivatevoidSaveToExcel(stringexcelPath,DataTabledataTable){//excelPath为excel文件路径,如果没有,需要使用FileStream来创建,而不是使用FileInfoExcelPackage.LicenseContext=OfficeOpenXml.Licens......
  • Excel word pdf查找
    importorg.apache.commons.lang.StringUtils;importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache.pdfbox.text.PDFTextStripper;importorg.apache.poi.ooxml.POIXMLDocument;importorg.apache.poi.openxml4j.opc.OPCPackage;importorg.apache.poi.xssf.......
  • 不会这5个Excel函数,别说你会做数据分析?
    当涉及数据分析时,Excel是一个非常有用的工具,而掌握一些核心函数将大大提高你在数据处理和分析方面的能力。以下是我对五个重要的Excel函数的详细介绍:1.VLOOKUP函数VLOOKUP函数是Excel中最常用的查找函数之一。它允许你在一个范围内搜索特定的数值,并返回该数值所在行的其他......
  • springboot集成EasyPoi,实现Excel/Word的导入导出
    前言在日常工作中,我们经常需要进行Excel或Word文档的导入和导出。这需要我们编写大量的代码和复杂的操作,从而增加了我们工作的难度。而EasyPoi就是针对这种情况而开发出来的一个简单易用的Java导入导出工具。EasyPoi是一个开源的Java导入导出工具,它提供了非常简单易用的API,可以让......