python - 自动组织分类的库
问题描述
对于项目列表,我有以下分类:
例子:
Item 1['taxonomy'] = 'toys/starwars/yoda/Baby Yoda toy'
Item 2['taxonomy'] = 'toys/starwars/yoda/Baby Yoda toy 10inches'
Item 3['taxonomy'] = 'toys/starwars/luke/Luke Skywalker toy'
Item 4['taxonomy'] = 'cloths/starwars/luke/Luke Skywalker toy'
我想自动创建一个分类法“对象”,其表示形式如下
|_ toys (3)
| |_
| starwars (3)
| |_ yoda
| |_ luke
| ...
|_ cloths (1)
...
我必须手动完成还是有任何库/对象可以做到这一点?谢谢
我不一定想要一棵树!我想组织我的分类并了解分类行为(了解所有文章的结构如何)
如何在没有最后一个分支的情况下打印树?
解决方案
看来您想创建一棵树。您可以使用anytree表示您的数据。
from anytree import Node, RenderTree
def parse_taxonomy_path(tx, nodes):
l = s.split('/')
parent = l[0]
nodes[parent] = Node(parent, parent=nodes['root'])
for i in range(1,len(l)):
name = l[i]
nodes[name] = Node(name, parent=nodes[parent])
parent = name
return nodes
root = Node('root')
nodes = {'root':root}
nodes = parse_taxonomy_path('toys/starwars/yoda/Baby Yoda toy', nodes)
for pre, _, node in RenderTree(root):
print("%s%s" % (pre, node.name))
root
└── toys
└── starwars
└── yoda
└── Baby Yoda toy
推荐阅读
- r - ggplot2,线型与 aes 映射中指定的不匹配
- html - Bootstrap 4 表(改变垂直填充/间距?)
- python - 从 numpy 距离矩阵有效地生成 JSON 摘要
- gulp - BrowserSync 错误:“您尝试启动 BrowserSync 两次”
- python - NameError 与类变量
- ubuntu-14.04 - 无法在 Ubuntu 14.04 中安装软件包
- php - 如何在 PHP 中使用 HTML 作为模板?
- sql - Spring Data:Native Query,映射到自定义 Bean,别名列;不使用投影)
- border - 如何在CGAL中找到SurfaceMesh最长边界上的顶点
- java - 在 Java 中获取字符串的 Sql Server nvarchar(255) 字节