excel父子关系列出树形
时间: 2023-07-07 16:04:02 浏览: 133
可以通过使用递归函数以及缩进来实现将 Excel 父子关系列出树形的功能。以下是一个示例代码,假设父子关系数据存在在 A 列和 B 列中,根节点为 "root"。
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('filename.xlsx')
# 定义递归函数
def build_tree(df, node):
# 获取当前节点的子节点
children = df[df['parent'] == node]
# 如果没有子节点,直接返回
if len(children) == 0:
return
# 遍历子节点
for i, row in children.iterrows():
# 打印节点名称,并添加缩进
print(' ' * row['level'] + row['name'])
# 递归调用
build_tree(df, row['id'])
# 打印根节点
print('root')
# 构建树形结构
build_tree(df, 'root')
```
其中,`df` 是包含父子关系数据的 DataFrame,`node` 是当前节点的 ID。`build_tree` 函数首先获取当前节点的子节点,并遍历这些子节点。对于每个子节点,打印节点名称,并根据节点的层级添加相应的缩进。然后,递归调用 `build_tree` 函数,继续构建子节点的树形结构。最终,通过打印根节点并调用 `build_tree` 函数,可以输出完整的树形结构。