Tree::Simple
Perlでデータをツリーに使用または配置した経験のある人はいますか?
次のCSVデータファイルがあるとします。-
Bob, Bill, Ben, Brett
Bob, Bill, Brian
Bob, John, Jim
Alice, John, Jill, Jane
Alice, Jean
Alice, Janet, Brian
以下を取得するために、それをツリー構造に変換したいと思います。
1, Bob
2, Alice
1.1, Bill
1.1.1, Ben
1.1.1.1, Brett
1.1.2, Brian
1.2, John
1.2.1, Jim
2.1, John
2.1.1, Jill
2.1.1.1, Jane
2.2, Jean
2.3, Janet
2.3.1, Brian
データをTree::Simple
ツリーに取り込むことができればTree::Parser
、正しい番号で出力するために使用できることを確認しました。
私が欲しいのは、データを1行ずつ入力する方法の例です。ファイルの各行を配列に読み込み$array[0]
、最初の子として追加することから始めることができます-例:
$tree->addChildren(Tree::Simple->new($array[0]));
方法がわからないのは次のとおりです。
ツリーにその名前の子がすでに存在するかどうかを確認して、Bobを2回追加しないようにします。
ジルがボブの子ではなくアリスの子であるジョンの子として入力されるように、各子の正しい親を見つけます
この問題について助けていただければ幸いです。私は4日間取り組んできましたが、そこにたどり着くことができません。これを行うための最良の方法ではない場合Tree::Simple
、おそらく別の方法がありますか?