以下の形式のテキストファイルから読み取っています。
0.000 ff:dd ff:ff 4 126 48000
0.001 sd:fg er:sd 5 125 67000
0.002 qw:er ff:dd 5 127 90000
0.003 xc:sd ff:dd 5 127 90000
0.004 io:uy gh:ij 4 126 56000
4 列目の 4 はリクエストを示し、5 はレスポンスを示します。その行がリクエストを表す場合、2番目の列をキーとして辞書を作成する必要があります。
4 番目の列の値が 5 の場合、その行が応答に対応していることを示します。この場合、その応答の 3 列目を見て、その 3 列目が辞書キーとして存在する場合は、その対応するキーの値として 2 列目を追加します。
上記の例では、望ましい結果は次のとおりです。
{'ff:dd': 1, 2, 48000, qw:er, xc:sd}, {'io:uv': 1, 0, 56000}
ff:dd の場合、1 は ff:dd からの要求が 1 つしかないことを示します。2 は ff:dd に対する 2 つの応答があることを示し、48000 は ff:dd に対応する要求の 6 列目の値です。質問を理解していただければ幸いです。ご不明な点がございましたらお問い合わせください。
io:uv の場合、応答がないため、1 は要求の数を示し、0 は応答の数を示し、56000 はこの要求の 6 列目の値です。
私はネットワーク トラフィックを分析するためにこれらすべてを行っています。
値を動的に追加する方法がわかりません。値の数が固定されていればなんとかなりますが、これは難しい状況です。私はpython2.6を使用しています。助けていただければ幸いです。前もって感謝します!