问题标签 [anytree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1820 浏览

python - 如何使用 python anytree 获取所有可能的分支

我目前正在使用anytree来生成我的搜索树,如何以列表格式从根节点开始获取所有可能的分支

当前树:

想要的输出(treeBranch):

[[f,b,a], [f,b,d,c], [f,b,d,e], [f,g,i,h]]

我不确定是否有更好的方法可以做到这一点,欢迎提出任何建议。

我想使用这个列表来检查树中是否存在来自用户的新路径,例如:

0 投票
1 回答
375 浏览

python - 为树中的每个节点生成 ID

我使用 python 中的 anytree 模块构建了一棵树。代码如下:

如何为树中的每个节点分配一个 ID?

0 投票
1 回答
312 浏览

python - 如何在我的 python anytree graphviz 输出中反转箭头的方向?

我正在构建树,这些树旨在表示使用 python 中的 anytree 包从叶子到树根的流。我有以下代码。

它会产生以下图像。

在此处输入图像描述

我想修改这个图像,使箭头指向相反的方向。我知道在 graphviz 中添加[dir=back]到边缘定义线会给我想要的结果。通过运行以下代码:

我得到输出:

但是如何修改DotExporteranytree界面的输出以添加[dir=back]到边缘定义线并反转箭头的方向?

0 投票
1 回答
820 浏览

python - 如何在python中构建一棵树?

在过去的几天里,我一直在研究 anytree 和 treelib 库,但我不知道如何实际构建树。我确定我缺少一些相对简单的东西。基本上,我需要建立一个组织结构图。我的数据包含两个列表:

第一个员工是 CEO,所以他们代表根节点。我需要建立一棵可能有 1000 名员工的树。每个节点还必须包含性别、薪水等属性(也将存储在列中)。如果我可以在构建树时分配这些属性,那将是理想的。树结构的目标是能够分析有关组织层的事物。那么,例如,组织第 3 层的孩子的平均数量是多少?或者,第 9 级的平均工资是多少。我不太确定我将如何进行这些计算,但我只是想建立数据结构,以便我可以进入那部分......

理想情况下,如果有一个库可以用来使这更简单,那就太好了。我查看了anytree,但不知道如何遍历节点创建过程来创建树。Treelib 提出了同样的问题。有什么建议吗?

0 投票
2 回答
1066 浏览

python - 尝试创建 AnyTree 树时出现错误“父节点 xxx 不是 'NodeMixin' 类型”

StackOverflow 上的第一个问题。无法找到此问题的其他实例,这使我相信我做错了什么。

我正在尝试根据物料清单 (BOM) 数据创建一棵树。首先,我只是想设置基本的父>子​​节点。

基本上在迭代期间,我尝试创建父节点(不会引发错误),然后使用先前创建的节点作为父节点创建子节点。但是,我不断收到此错误:

这是渲染树(根)的结果:

这是我正在阅读的 csv 的简化版本:

示例 csv 结构

任何帮助是极大的赞赏!

0 投票
0 回答
64 浏览

c# - C# 中树实现的包类似于 python 中的 Anytree?

我的应用程序需要找到所有叶节点,然后找到从根到叶的遍历。在 C# 中是否有一个很好的 Tree 实现包可以做到这一点?我需要类似于 python 中的 Anytree 的东西。

0 投票
2 回答
3778 浏览

python - 从 pandas DataFrame 读取数据并使用 python 中的 anytree 创建树

有没有办法从 pandas DataFrame 读取数据并使用 anytree 构造树?

我可以使用静态值来做到这一点,如下所示。但是,我想通过使用 anytree 从 pandas DataFrame 中读取数据来自动执行此操作。

输出是

这个问题,尤其是答案已被采纳,真正复制,来自:

从文件中读取数据并使用 python 中的 anytree 创建树

非常感谢@Fabien N

0 投票
1 回答
102 浏览

python - anytree.exporter 的 JSON 编码不支持西里尔字母

我已经使用 Anytree ( https://pypi.org/project/anytree/2.8.0/ ) 在 Python 中构建了树。然后我将它导出为 JSON。从文件导入树后,我得到了正常的符号。问题是JSON 文件包含“坏”符号而不是普通的西里尔字母。这是一个代码示例:

  1. 构建树
  2. 将树导出到 json + 渲染
  3. 从 json + 渲染导入树
  4. 打印json内容

代码:

结果是:

虽然将西里尔文写入 JSON 是可以的。例子:

返回:

0 投票
1 回答
67 浏览

python-3.x - 使用属性或引用的anytree nodemixin

我有一个现有的树,我想通过添加 NodeMixin 来添加任何树功能。问题是 NodeMixin 想要一个固定的名称 'children' 为其子元素,我已经有一个不同名称的列表。

另一个问题(我正在使用 mypy)是现有子元素列表不是可选的 - 终端节点有空列表,NodeMixin 想要“无”作为终端对象的“子元素”。

如果我必须重命名对象并处理孩子的可选性质,它将产生很多变化。

是否可以将子元素定义为@property 或现有子元素的引用?

0 投票
1 回答
252 浏览

python - Python anytree:迭代时,知道分支何时关闭

使用文档中的示例:

在我的例子中,树是文件格式的内部表示。在某些时候,我想将其写入文件。格式命令每个节点都有一个开始和一个结束标记。(如 html 或 xml 但它是二进制格式)。

如果一个节点是叶子,很容易意识到它需要一个关闭标签,但对于更高级别的节点则不需要。使用PreOrderIter我需要输出这个:

等等。问题是我如何才能实现一个节点子节点都被遍历然后写关闭标签?