如何在Python中遍历CSV层次树



我试图在CSV文件中的层次结构树中进行迭代,以对项目执行某些操作。层次结构设置如下:层次树

请注意,父级和子级下的实际项目中不会有像parent/child这样的单词,如下所示:示例树

现在,我想创建两个嵌套的循环,"外部"循环在父级迭代,"内部"循环在子级迭代,每个循环的主体将使用它们处理的每个单元级别的信息。为了补充说明,每个父母都有不同数量的孩子,所以父母1可以有4个,父母2可以有2个,父母3可以有8个,依此类推。有人能帮助我如何设置这些循环,以我想要的方式迭代它们吗?

我会使用pandas

import pandas as pd
df = pd.read_csv(path_to_csv)
# Fill empty cells in parent column with the precedent value
df['parent'] = df.parent.fillna(method='ffill')
# Group cells with the same parent
df = df.groupby('parent').agg({'child': list})
print(df)
print(df.loc['Apple'])

这将导致一个由父级及其子级编入索引的表,该表被分组到列表结构中的单个单元格中。接下来,您可以对每个列表执行任何您想要的操作,甚至可以将pandas数据帧(=table(转换为最适合您的情况的任何其他内容(list、dict…(。

最新更新