格式化处理--二层字典格式

博科光交格式化处理
SW6520:monitor> sfpshow -all | grep -e Port -e RX -e TX``
Port 0:
RX Power: -2.6 dBm (554.0uW) 10.0 uW 1258.9 uW 15.8 uW 1000.0 uW
TX Power: -3.2 dBm (478.5 uW) 125.9 uW 631.0 uW 158.5 uW 562.3 uW
Port 1:
RX Power: -3.3 dBm (465.9uW) 10.0 uW 1258.9 uW 15.8 uW 1000.0 uW
TX Power: -3.2 dBm (478.4 uW) 125.9 uW 631.0 uW 158.5 uW 562.3 uW
Port 2:
RX Power: -2.8 dBm (523.9uW) 10.0 uW 1258.9 uW 15.8 uW 1000.0 uW
TX Power: -3.2 dBm (479.0 uW) 125.9 uW 631.0 uW 158.5 uW 562.3 uW
Port 3:
RX Power: -3.3 dBm (468.2uW) 10.0 uW 1258.9 uW 15.8 uW 1000.0 uW
TX Power: -3.1 dBm (484.2 uW) 125.9 uW 631.0 uW 158.5 uW 562.3 uW
Port 4:
RX Power: -2.4 dBm (576.3uW) 10.0 uW 1258.9 uW 15.8 uW 1000.0 uW
TX Power: -3.2 dBm (479.8 uW) 125.9 uW 631.0 uW 158.5 uW 562.3 uW

格式化处理脚本:
import re
with open('result1.txt','r') as f:
reader = f.readlines()
result_dict = {}
for i in range(0,len(reader),3):
#print (reader[i],reader[i+1],reader[i+2])
key = re.split('[: ]+', reader[i])[1]
rx = re.split('[: ]+',reader[i+1])
key1 = rx[0]+rx[1]
value1 = rx[2]
tx = re.split('[: ]+', reader[i + 2])
key2 = tx[0]+tx[1]
value2 = tx[2]
result_dict[key] = {key1:value1,key2:value2}
print(result_dict)
执行结果为;
{ '0': {'RXPower': '-2.6', 'TXPower': '-3.2'},
'1': {'RXPower': '-3.3', 'TXPower': '-3.2'},
'2': {'RXPower': '-2.8', 'TXPower': '-3.2'},
'3': {'RXPower': '-3.3', 'TXPower': '-3.1'},
'4': {'RXPower': '-2.4', 'TXPower': '-3.2'} }

猜你喜欢

转载自blog.51cto.com/chier11/2174066