Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

175
Views
Lista de rutas al diccionario de diccionarios con lista de archivos como valores en nodos hoja

He estado tratando de usar una lista de rutas para implementar un TreeView en un sitio web con componentes Material UI.

Usé el código que se encuentra en el componente TreeView en MUI aquí https://mui.com/material-ui/react-tree-view/#rich-object

Pero solo tengo una lista de rutas como esta:

 dirs = ['path/to/file/file1.txt', 'path/to/file/file2.txt', 'path/to/another_file/file3.txt']

Y quería llegar a una estructura que se ve así

 {'path': {'to': {'files12': ['file1.txt', 'file2.txt']}, 'file3': 'file3.txt'} } }

Para usar eso con mi función en React, de alguna manera me puse a trabajar hasta que se rompió en el nodo hoja, porque el diccionario que estaba usando era el creado aquí https://stackoverflow.com/a/58917078/9790150 que lee los nodos hoja para siempre y alcanzó el tamaño máximo de la pila de llamadas.

A continuación se muestra lo mejor que pude hacer que mi función dentro de mi página funcione

 const renderTree= (my_dict) => ( <TreeItem key={Object.keys(my_dict)[0]} nodeId={Object.keys(my_dict)[0]} label ={Object.keys(my_dict)[0]}> {Array.isArray(Object.values(my_dict)) ? Object.entries(my_dict).map((node) => renderTree(node)) : null} </TreeItem> );

. Nota: La función anterior no está completa. Es justo donde tengo hasta ahora.

Puedo proporcionar más aclaraciones según sea necesario porque todavía no entiendo las cosas por completo.

Así que TL;DR

Necesito una forma de convertir una lista de rutas en el formato de estructura que se encuentra en el ejemplo de TreeView que se ve así:

 const data = { id: 'root', name: 'Parent', children: [ { id: '1', name: 'Child - 1', }, { id: '3', name: 'Child - 3', children: [ { id: '4', name: 'Child - 4', }, ], }, ], };

Lo cual parece demasiado complicado de hacer en Python o Javascript, ya que lo más probable es que pueda crear una función que funcione con la segunda opción ->

Una forma de convertirlo en un diccionario de diccionarios como se muestra arriba en mi resultado deseado

Agradezco cualquier sugerencia sobre cómo debería crear lo que quiero de una manera más fácil.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!