文件轉換爲二層字典及二層字典同鍵合併

固定格式的文件,轉換爲二層字典格式

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章