Se tiene una tabla del siguiente tipo:
identificación | título. | Identificación de los padres
identificación | título. | Identificación de los padres |
---|---|---|
245 | frutas | uno |
4 | Todos | 0 |
Solución del problema
Para la próxima vez, proporcione más datos, ¡con los datos proporcionados no es posible una cadena!
Creo que esto debería hacer lo que quieres:
from io import StringIO
import pandas as pd
# Your data faked
# -1 marks "no parent", if you change this, you have to change the if clause
data_file = StringIO("""id|title|parent_id
0|abc|-1
1|def|0
2|ghi|0
3|jkl|1
4|mno|2
8|pqr|4
""")
def handle_value(search_id: int, df: pd.DataFrame):
tmp_value = df.loc[search_id] # Get the element with the given id (your index)
print(tmp_value["title"], end="")
if tmp_value["parent_id"] >= 0:
print(" -> ", end="")
handle_value(search_id=tmp_value["parent_id"], df=df)
else:
print()
# Read your file
table = pd.read_table(data_file, sep="|", index_col="id", dtype={"parent_id": int})
print(table)
handle_value(8, df=table)
Las salidas:
title parent_id
id
0 abc -1
1 def 0
2 ghi 0
3 jkl 1
4 mno 2
8 pqr 4
pqr -> mno -> ghi -> abc
Algunos puntos:
No hay comentarios.:
Publicar un comentario