Angenommen, solche Daten werden durch Nachanalyse umfangreicher Rohdaten gewonnen:
[(id,node,val)(id,node,val)...]
ist ein Tupel aus Benutzer-ID, Server und Wert in der Reihenfolge, die dann nach dem Server getrennt und dann nach dem Wert sortiert wird Größe und dann „In Excel schreiben“.
Oder generieren Sie [{"id":xxx,"node":xxx,"val":xxx},{"id":xxx,"node":xxx,"val":xxx}...]
Wenn ja Es gibt nur eine Reihe von KVS, die nach Sortierung sortiert werden können, aber die Namen der Knoten sind derzeit unbekannt und diese Servernamen können sich täglich ändern. Nachdem ich solche Daten erhalten habe, wie kann ich die Daten nach dem Servernamen trennen und sortieren?
Das Hauptproblem besteht darin, dass der Name des Knotens selbst nicht festgelegt ist. Sie erstellen beispielsweise zunächst n Listen und geben die Daten derselben Knoten darin ein, wissen aber nicht, wie viele Listen Sie erstellen sollen. Und wenn die verarbeiteten Daten später in Excel geschrieben werden, wird zwangsläufig eine Schleife verwendet.
Dies ist ein Zyklus innerhalb eines Zyklus, und der Name der neuen Datengruppe wird weder nach der Klassifizierung noch nach der Anordnung der Daten bestimmt. Selbst die Verwendung des Befehls exec kann die Anforderungen nicht erfüllen
另外其实可以将数据按id, node, val 全部写入csv文件
通过linux的awk, uniq, sort 等命令工具写一个shell脚本, 也是很快的
还有关于你的海量数据究竟有多大, 在哪个数量级,没有明确, 如果数据量真的很大, 用上面的python代码内存不够用也是可能的, 这个需要你自己估算下
如果我正确理解了你的需求的话,可以用字典,字典的键是node的名称,字典的值是由项组成的列表:
之后再根据键(服务器名称)取出字典中的每一项的值(就是数据列表),对其sort加lambda根据每一项中的某个值进行排序。