求高手帮忙,想利用python提取文件夹下面所有文本中指定内容到excel

单个文本如下:
Receive:display memory
Memory utilization statistics at 2018-12-27 22:10:47 230 ms
System Total Memory: 8021212 Kbytes
Total Memory Used: 988720 Kbytes
Memory Using Percentage: 12%
State: Non-overload
Overload threshold: 95%, Overload clear threshold: 75%, Duration: 60s

ServiceName MemUsage(KB)

FEA 123150
CMF 106301
VLAN 22124
SYSTEM 14708
FEC 13386
IFM 12360
DEVICE 10387
IP STACK 4266
OSPF 3583
MSTP 2134
RM 1467
LOCAL PKT 1285
ARP 974
EUM 345
OAM 264
ND 240
STACKMNG 236
AAA 199
DHCP 183
FIBRESM 178
NETSTREAM 153
SLA 143
SMLK 101
TUNNEL 53
TNLM 50
PNP 37
RGM 34
ETRUNK 27
RBS 20
PEM 0

<dis1_sw1>
Receive:display cpu
CPU utilization statistics at 2018-12-27 22:10:48 475 ms
System CPU Using Percentage : 9%
CPU utilization for five seconds: 6%, one minute: 9%, five minutes: 6%.
Max CPU Usage : 56%
Max CPU Usage Stat. Time : 2015-05-21 21:32:22 866 ms
State: Non-overload
Overload threshold: 95%, Overload clear threshold: 75%, Duration: 1800s

ServiceName UseRate

SYSTEM 6%
DEVICE 3%
RBS 0%
ETRUNK 0%
EUM 0%
OAM 0%
RGM 0%
NETSTREAM 0%
DHCP 0%
TNLM 0%
MSTP 0%
RM 0%
SLA 0%
OSPF 0%
PNP 0%
FEC 0%
TUNNEL 0%
PEM 0%
IP STACK 0%
STACKMNG 0%
CMF 0%
LOCAL PKT 0%
VLAN 0%
AAA 0%
ARP 0%
FIBRESM 0%
FEA 0%
IFM 0%
ND 0%
SMLK 0%

CPU Usage Details

CPU Current FiveSec OneMin FiveMin Max MaxTime

cpu0 7% 6% 12% 7% 75% 2015-05-21 21:32:24
cpu1 11% 4% 9% 5% 80% 2017-11-16 17:00:22
cpu2 11% 6% 10% 6% 83% 2015-10-27 03:20:15
cpu3 10% 9% 8% 9% 83% 2015-05-21 21:32:24

在这里插入图片描述

提取内容:
1.Memory Using Percentage: 后面的百分比
2.System CPU Using Percentage : 后面的百分比

效果如下:

import os
import re
import xlrd,xlwt

def find_files(s_path):
res = {}
file_list = os.listdir(s_path)
for filename in file_list:
abs_filename = os.path.join(s_path,filename)
if os.path.isfile(abs_filename):
#打开文件
with open(abs_filename,“r”,encoding=“utf8”) as f:
for line in f:
m1 = re.search("^Memory Using.*\s+(\d+%)KaTeX parse error: Expected 'EOF', got '\s' at position 136: …tem CPU Using.*\̲s̲+(\d+%)",line)
if m2:
cpu_data = m2.group(1)
res[abs_filename] = (m_data,cpu_data)
elif os.path.isdir(abs_filename):
find_files(abs_filename)
else:
print(“不是文件夹,也不是文件”)

return res

#创建excel 文件
def write_excel(data):
writebook = xlwt.Workbook() # 打开一个excel
sheet = writebook.add_sheet(‘data’) # 在打开的excel中添加一个sheet
# 添加表头
sheet.write(0,0,‘文件名’)
sheet.write(0, 1, ‘内存占比’)
sheet.write(0, 2, ‘CPU占比’)
# 65535 最大行,可以自行拆分
for index,item in enumerate(data):
sheet.write(index+1,0,item) # 文件名
sheet.write(index+1,1,data[item][0])
sheet.write(index+1,2,data[item][1])

writebook.save("result.xls")

if name == “main”:
s = r"E:\Computer\Python\Code\系统模块\test" #更换自己的路径
res = find_files(s)
write_excel(res)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值