そのようなデータが大量の生データの事後分析を通じて取得されたと仮定します:
[(id,node,val)(id,node,val)...]
は、ユーザー ID、サーバー、値の順のタプルであり、サーバーに従って分離され、依存します。 val サイズでソートして Excel に書き込みます。
または、[{"id":xxx,"node":xxx,"val":xxx},{"id":xxx,"node":xxx,"val":xxx}...]# を生成します##kv が 1 セットしかない場合は、sorted でソートできますが、ノードの名前は不明であり、これらのサーバー名は毎日変わる可能性があります。このようなデータを取得した後、サーバー名に従ってデータを分割して並べ替えるにはどうすればよいですか?
ここでの主な問題は、ノード自体の名前が固定されていないことです。たとえば、最初に n 個のリストを作成し、そこに同じノードのデータを入れますが、リストをいくつ作成すればよいかわかりません。そして、後から加工したデータをExcelに書き込む際には、必然的にループが使われることになります。
これはループ内のループであり、データが分類された後も、データが整理された後も、新しいデータ グループの名前は決まりません。 exec コマンドを使用してもニーズを満たすことはできません
リーリー
さらに、実際にすべてのデータを id、node、val で CSV ファイルに書き込むことができます
Linux の awk、uniq、sort およびその他のコマンド ツールを使用してシェル スクリプトを記述することも非常に高速です
また、大規模なデータがどれくらいの大きさであるか、そしてそれがどの程度の大きさであるかは明らかではありません。データの量が非常に大きい場合は、上記の Python コードのメモリが十分ではない可能性があります。これを見積もる必要があります。自分で
ニーズを正しく理解できれば、辞書を使用できます。辞書のキーはノードの名前であり、辞書の値は項目で構成されるリストです。
リーリー次に、キー(サーバー名)に従って辞書(つまりデータリスト)の各項目の値を取り出し、各項目の特定の値に従ってソートするラムダを追加してソートします。