Criar uma árvore json da lista csv em python

Eu estou tentando construir uma hierarquia json de uma tabela simples em python.

Os dados aparecem parecidos com os seguintes:

id         parent          name
1          10              test-name-1
2          10              test-name-2
3          5               test-name-3
4          none            test-name-4
5          10              test-name-5
6          none            test-name-6
7          1               test-name-7
8          1               test-name-8
9          8               test-name-9
10         4               test-name-10

e estou procurando uma saída como esta:

{"$4":{"name":"test-name-4","children":{
      "$10":{"name":"test-name-10","children":{
            "$1":{"name":"test-name-1","children":{
                 "$7":{"name":"test-name-7","children":{}},
                 "$8":{"name":"test-name-8","children":{
                      "$9":{"name":"test-name-9","children":{}}}}}},
            "$2":{"name":"test-name-2","children":{}},
            "$5":{"name":"test-name-5","children":{
                 "$3":{"name":"test-name-3","children":{}}}}}}}},
 "$6":{"name":"test-name-6","children":"test-name-6"}}

Eu não tenho idéia de quantas "folhas" haverá ou "raízes", ou em que ordem as linhas do csv virão. Minha pergunta é, existe uma maneira que eu possa recursivamente construir um dicionário / lista a partir de um nó filho até o pai? Como posso produzir uma árvore hierárquica a partir das partes "leaf" da árvore em python?

Obrigado pela ajuda!

questionAnswers(3)

yourAnswerToTheQuestion