Python 获取文本中指定tag的信息,保存到excel文件中,并进行分析

实现的功能:

(1)parse_procrank:解析log 文件中的利用获取的memory 信息,并将这些信息存至excel文件

(2)parse_memory:进行memory 占用计算

(3)parse_cpu:进行cpu consump计算

#!/usr/bin/python
#coding=utf-8

import openpyxl
import xlwt
import xlrd
import re
import os
import sys

log_file = r'test.txt'
xlsx_path = r'procrank.xlsx'
result_path = r'result.txt'
sheet_name = [r'procrank', r'cpu_info', r'memory_info', r'result']

def write_to_file(filename, data):
    fp = open(filename, 'a')
    fp.write(data)
    fp.close()

def parse_cpu():
    print('parse_cpu start')
    xlsx = xlrd.open_workbook("procrank.xlsx")
    table = xlsx.sheet_by_index(1)

    total = 100
    #raws = table.max_row
    #空列表,用以存储数据
    all_used = []
    all_alexa = []
 
    #循环,读取表格的每个单元格
    for n in range(1, table.nrows):
        idle = table.cell_value(n, 3)
        tmp = "".join(re.findall(r"\d+\.?\d*",idle))
        if tmp != "100":
            #开始提取我们需要的数据并存储到字典
            #将上面字典的每一项以追加的方式追加到空列表all_data
            used = 100 - int(tmp)
            all_used.append(used)

        tmp2 = table.cell_value(n, 13)
        if tmp2 != "":
            tmp3 = "".join(re.findall(r"\d+\.?\d*",tmp2))
            alexa = int(tmp3)
            all_alexa.append(alexa)
    
    #开始进行计算
    alexa_max = max(all_alexa)
    cpu_max = max(all_used)

    a_len = len(all_used)
    a_used = sum(all_used)
    cpu_avreage = a_used/a_len
    b_len = len(all_alexa)
    b_used = sum(all_alexa)
    alexa_avreage = b_used/b_len

    result = "cpu total: %d%%    cpu average: %d%%    cpu max: %d%%\n" % (total, cpu_avreage, cpu_max)
    print (result)
    write_to_file(result_path, result)
    result = "alexa_max: %d%%        alexa_av
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值