You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python高效解析F5 'show sys performance'输出并写入Excel

高效解析F5 "show sys performance" 输出并写入Excel

前提说明

假设show sys performance的输出格式如下(实际可根据你的设备输出调整正则规则):

Sys::Performance
CPU usage
  Current       : 12%
  Average       : 10%
  Max           : 25%
Memory usage
  Current       : 45%
  Average       : 42%
  Max           : 50%

实现代码

用正则表达式提取数据(比字符串拆分更鲁棒,适配输出格式的空格变化),结合openpyxl写入Excel:

import re
from openpyxl import Workbook

def parse_f5_performance(output_text):
    # 匹配CPU和内存的三个指标,兼容输出中的空格差异
    pattern = re.compile(
        r'(CPU|Memory) usage\n'
        r'\s+Current\s+:\s+(\d+)%\n'
        r'\s+Average\s+:\s+(\d+)%\n'
        r'\s+Max\s+:\s+(\d+)%'
    )
    matches = pattern.findall(output_text)
    
    result = {}
    for match in matches:
        component, current, avg, max_val = match
        result[component.lower()] = {
            'Current': int(current),
            'Average': int(avg),
            'Max': int(max_val)
        }
    return result

def write_to_excel(data, filename='f5_performance.xlsx'):
    wb = Workbook()
    
    # 创建并写入CPU工作表
    cpu_ws = wb.create_sheet(title='CPU')
    cpu_ws.append(['指标', '数值(%)'])
    for key, val in data.get('cpu', {}).items():
        cpu_ws.append([key, val])
    
    # 创建并写入Memory工作表
    mem_ws = wb.create_sheet(title='Memory')
    mem_ws.append(['指标', '数值(%)'])
    for key, val in data.get('memory', {}).items():
        mem_ws.append([key, val])
    
    # 删除默认生成的空白Sheet
    if 'Sheet' in wb.sheetnames:
        wb.remove(wb['Sheet'])
    
    wb.save(filename)
    print(f"数据已成功写入{filename}")

# 示例调用
if __name__ == '__main__':
    # 替换为你的实际命令输出文本
    f5_output = """
    Sys::Performance
    CPU usage
      Current       : 12%
      Average       : 10%
      Max           : 25%
    Memory usage
      Current       : 45%
      Average       : 42%
      Max           : 50%
    """
    parsed_data = parse_f5_performance(f5_output)
    write_to_excel(parsed_data)

关键说明

  • 正则匹配:通过分组直接锁定组件类型和指标数值,自动忽略输出中的空格、缩进差异,比字符串拆分更稳定
  • Excel操作:创建独立工作表分别存储CPU和内存数据,结构清晰,便于后续查看
  • 扩展性:如果你的设备输出格式有细微调整,只需修改正则表达式的匹配规则即可适配

内容的提问来源于stack exchange,提问作者Tarun Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:23:13