问题标签 [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 投票
1 回答
821 浏览

conda - 如何在 miniconda 中安装 anytree?

我已经尝试了该conda install anytree命令。但是我收到一条消息说找不到包。

有没有办法使用 conda 而不是 pip 安装它?

0 投票
0 回答
594 浏览

python - Python - 如何创建家谱树

我想用 Python 开发一个家谱树。

我正在使用 Django 框架 2.1。

我有一个名为“动物”的模型:

Python 中是否存在从该对象递归生成树的方法?我尝试了 AnyTree 但我只得到一个结果,它只显示当前的动物,但它没有得到他的母亲,也没有得到祖母。

我正在尝试将此代码与 anytree 一起使用来生成树:

看法:

0 投票
0 回答
233 浏览

python - graphviz 将点文件转换为图像时出错

我通过 anytree 模块制作了一个树形图,我想从中获取一个 png 文件。我尝试了graphviz(dotfile to png)但出现错误:有什么问题?

0 投票
1 回答
1746 浏览

python - 从具有重复子树的嵌套列表构造树视图(使用 anytree/treelib)

我有一个嵌套列表,如下所示:

我想构建一棵树,例如:

我想使用两个包中的任何一个:treelibanytree。我已经阅读了很多帖子并尝试了许多不同的方法,但都没有成功。

更新:

我想出了以下方法,但我现在遇到的问题是

  1. 不能保证分支的垂直顺序(例如,“b”、“f”、“h”)(当我在 list 中有很多列表时)。
  2. “e”作为“f”的一个分支不会出现
0 投票
0 回答
82 浏览

python - 从 MongoDB 访问嵌套对象值

我在 MongoDB 中有一个嵌套对象的集合(基本上是一个树结构)。我正在尝试访问“儿童”中的某些“id”和“user_id”值。

集合如下所示: MongoDB 中树对象的图像

当我查询“孩子”时,我得到例如输出:

如何使用 'user_id' = 56377143 有效地访问所有“id”?当嵌套太深时,我似乎无法获得所有这些。

我尝试使用这样的for循环,但它没有输出与'user_id's匹配的所有'id's

0 投票
1 回答
1269 浏览

python - 使用 anytree 将 JSON 转换为图像

我正在尝试使用 anytree 读取 JSON 文件并使用渲染树图将其导出为 png 图像。对于我创建它工作的节点的基本示例。

程序生成的图像

当我尝试按照文档导入 json 文件时

我收到以下错误:

Traceback (most recent call last): File "pyth.py", line 20, in <module> DotExporter(tree).to_dotfile("tree.dot") File "/home/user/.local/lib/python3.5/site-packages/anytree/exporter/dotexporter.py", line 214, in to_dotfile for line in self: File "/home/user/.local/lib/python3.5/site-packages/anytree/exporter/dotexporter.py", line 160, in __iter for node in self.__iter_nodes(indent, nodenamefunc, nodeattrfunc): File "/home/user/.local/lib/python3.5/site-packages/anytree/exporter/dotexporter.py", line 174, in __iter_nodes nodename = nodenamefunc(node) File "/home/user/.local/lib/python3.5/site-packages/anytree/exporter/dotexporter.py", line 142, in __default_nodenamefunc return node.name AttributeError: 'RenderTree' object has no attribute 'name'

通过管道将print(tree)JSON 传递到文本文件中,将 JSON 作为文本块提供,没有空格格式,在文档中,这需要逐行完成以捕获树结构。所以看起来好像RenderTree(root)没有以第一个示例的 Node 样式格式化 JSON。

有谁知道出了什么问题?是否有正确解析 JSON 的另一个步骤?

0 投票
1 回答
131 浏览

python - Mapping URL redirections with Anytree (without duplicates)

I am trying to use the Python AnyTree module to map URL redirections into a tree without creating any duplicate nodes.

I've tried to play around with the code using AnyTree docs and similar questions e.g. Tree with no duplicate children

My current code is:

Basically, given a list of redirections like:

I want AnyTree to produce an output like:

Instead, it currently prints:

As you can see, there are lots of duplicates. Also, foxtrot and golf aren't added to the delta chain. Finally, india has man redirections that do not occur from those URLs.

Note that the redirections array could be in any order (not necessarily the order the redirections occurred in)

0 投票
1 回答
339 浏览

python - 将嵌套 python 列表简化为结构化树的最佳方法(同时保留顺序)

假设我有一个 Python 3.6 列表,如下所示:

我需要使用anytree将其转换为树状结构,使其看起来像这样:

如果有任何帮助,请将对象a, b, c, d,视为一个字符串。e我目前已经阅读了很多关于 anytree 的文档,并在 StackOverflow 上搜索了一段时间,但找不到任何可以帮助我解决这个问题的东西。我可以解决这个问题的最pythonic方式是什么?

编辑:为了添加说明,原始列表l1应该代表一棵树,其中第一个元素l1是父节点,其中的每个节点都是一个子节点。每个子节点都可以是它之前节点的子节点,以此类推

编辑编辑:所以,这是原始列​​表(假设)的样子:

在这里,每个子列表的第一个元素总是最终成为该分支的父元素。将这些分支中的每一个连接在一起将使我获得所需的格式,但我一直在努力将其表达出来(现在是凌晨 2 点)。以下是我的一些尝试:

将列表转换为节点:

但是,这会返回一个树/列表,因此:

为了过滤掉它,我尝试执行以下操作:

这就是我目前所处的步骤

编辑编辑编辑:

因此,树的表示方式是我有一个函数,它返回一个类似 的列表l1,并且背后有以下逻辑:

列表中的每个元素都有 2 个部分。家长,还有孩子。父元素是列表中的第一个元素,其他所有元素都是它的子元素,或者是子元素的子元素,依此类推。所以一个像:[a, b, c][d, e, f, g]元素代表分支中的所有元素,而不仅仅是不断下降的直接父母。这就是其他元素发挥作用的地方。下一个元素通常包含父母的第一个孩子:[b, c]and[e, f][g]。但是现在,元素[d, e, f, g]不同了,[a, b, c]因为它里面有 2 个不同的子分支而不是一个。所以,像这样的树:

会被描述为:

编辑:修复了输入树,因为f没有独立的分支

0 投票
1 回答
1011 浏览

python - 如何修复此错误?FileNotFoundError: [WinError 2] 系统找不到指定的文件

我的代码是这样的:

我收到这样的错误。如果我使用 to_dotfile 而不是 to_picture,它会创建点文件。我希望这个 to_picture 函数能够工作。如何修复此错误?

0 投票
1 回答
828 浏览

python - 使用anytree模块在python中创建动态树

我尝试为 minmax 算法创建一个实现,并且需要创建一个包含所有可能移动的树。在 python 3.7 中使用 anytree 模块创建树,但是当尝试在第一个树级别迭代并构建下一个级别时收到错误。

我的构建树代码是:

更确切地说,问题是:如何通过当前树将子节点添加到节点?

以下问题对我没有帮助: How to specify children in anytree and print a tree

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

如何在 Python 中实现树?Python中是否有像Java一样的内置数据结构?