文件转换为二层字典及二层字典同键合并

本文介绍了一种将固定格式的博科光交文件转换为二层字典的方法,并展示了具体的转换脚本及结果。通过对原始数据进行解析,实现了光交换机端口的RX与TX功率值的有效提取。

固定格式的文件,转换为二层字典格式

博科光交格式化处理
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

格式化处理脚本:
文件转换为二层字典及二层字典同键合并
执行结果为;
{ '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'}
}

二层字典合并——外层键相同的字典,相互合并。比如dict1["0"]和dict2["0"]字典合并。

文件转换为二层字典及二层字典同键合并

合并后执行结果为:
{
'0': {'RX': '-0.0', 'TX': '-0.0', 'port': '0', 'address': '010000'},
'1': {'RX': '-1.1', 'TX': '-1.1', 'port': '1', 'address': '110100'},
'2': {'RX': '-2.2', 'TX': '-2.2', 'port': '2', 'address': '220200'},
'3': {'RX': '-3.3', 'TX': '-3.3', 'port': '3', 'address': '330300'}
}

转载于:https://blog.51cto.com/chier11/2174066

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值