python - 我的数据库查询输出中的“< >”是什么意思?
问题描述
我编写了一个查询来从 neo4j 数据库中提取数据,该数据库使用 neomodel 模块连接到我的 Django 应用程序。输出格式如下:
[[<Node id=32 labels={'Resource', 'owl__Class'} properties={'ns1__images': 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Tottori_sand_dune02_1920.jpg/120px-Tottori_sand_dune02_1920.jpg','ns1__definition': 'Camels\xa0are\xa0a\xa0milk-producing animal.'}>]]
我尝试过使用循环并使用索引访问特定元素,但它们没有帮助。
这是我运行的查询:
results, meta = db.cypher_query("MATCH (n) WHERE n.uri = RETURN n")
我试过但没有帮助:
print(results[0][0])
这给出了输出:
<Node id=32 labels={'Resource', 'owl__Class'} properties={'ns1__images': 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Tottori_sand_dune02_1920.jpg/120px-Tottori_sand_dune02_1920.jpg','ns1__definition': 'Camels\xa0are\xa0a\xa0milk-producing animal.'}>
当我使用这个时:
print(list(results[0][0]))
我把它作为输出而不是数据:
['ns1__images', 'ns1__definition']
我想通过使用它的键来访问属性中的数据并获取值。例如,如果我将密钥指定为 ns1_images,我希望将输出作为 ns1_image URL。
解决方案
您的查询结果包括:
- 结果列表(第一个数组)
- 对于每个结果,您都有一个返回项目数组(检查元数据)
在您的情况下,您查询返回 a Node
,这就是为什么您有This <Node ... >
object (ie. neo4j.v1.types.graph.Node
) 来自 Neo4j python 驱动程序。您可以在此处查看文档:https ://neo4j.com/docs/api/python-driver/current/types/graph.html#neo4j.types.graph.Node
你可以做的是:print(results[0][0]['ns1__images'])
results[0]
:获取您查询的第一个结果[0]
:获取结果的第一列,这里是Node
['ns1__images']
: 检索ns1__images
节点的属性
推荐阅读
- electron - 如何在 Electron 中将透明图像写入剪贴板
- javascript - 计算 React.js 中 API JSON 响应的出现次数结果
- angular - 当以编程方式更改表单输入值时,不会触发 NgForm.valueChanges
- python - 在 python 中仅测量 CPU 时间(不是时钟时间)
- python - 主文件 PyQt4 中的外部函数
- javascript - 如何在嵌套对象中查找属性
- uwp - 滚动不会停止,同时通过在 UWP 中的投掷动作后点击屏幕来停止滚动动作
- variables - TestComplete - 如何在 testComplete 中定义动态变量,就像我们在 Soapui 中使用 $ 符号“${#Var2}”一样
- android - JSON解析动态按钮
- mysql - LEFT JOIN 显示 NULL 行 + WHERE