如何使用Python将ping IP程序的运行结果写入Excel文件
Python实现IP ping检测结果写入Excel
实现步骤
- 安装Excel处理依赖库
直接执行pip命令安装openpyxl,这是目前处理xlsx格式最稳定的轻量库:pip install openpyxl - 调整原有代码逻辑
原代码仅将连通正常的IP写入TXT,调整后会把所有IP的连通状态都写入Excel,包含表头,结果更直观,不需要额外翻控制台查看不通的IP记录。
调整后完整代码
import os from openpyxl import Workbook # 读取ip.txt中存储的待检测IP,自动过滤空行 with open("ip.txt", "r+") as ips_file: ips = [ip.strip() for ip in ips_file.readlines() if ip.strip()] # 初始化Excel文件 wb = Workbook() ws = wb.active ws.title = "IP连通性检测结果" # 写入表头 ws.append(["IP地址", "连通状态"]) for ip in ips: # 原有ping检测逻辑保留,Windows系统下-n指定发包数、-w指定超时时间 response = os.system(f'ping {ip} -n 2 -w 2') if response == 0: connect_status = "连通正常" else: connect_status = "连通失败" print(f'server {ip} not available') # 将当前IP和对应状态写入Excel行 ws.append([ip, connect_status]) # 保存Excel文件到脚本运行目录 wb.save("IP连通性检测结果.xlsx")
补充说明
- 运行脚本后会在同目录生成
IP连通性检测结果.xlsx文件,直接用Excel打开即可查看所有结果 - 如果不想安装第三方依赖,也可以用Python自带的
csv模块生成csv格式文件,修改后缀为.csv后同样可以直接用Excel打开,逻辑和上述代码几乎一致,只需要把openpyxl的操作替换为csv写入即可 - 原有的TXT写入逻辑如果需要保留,直接在判断连通正常的分支下加回原有的TXT写入代码即可,不会冲突
内容的提问来源于stack exchange,提问作者Kacper Jedynak
相关产品推荐
相关产品推荐

