Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda