如何将neo4j返回类型转换为python类型

2024-04-25 04:50:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是py2neo,我想从查询返回中提取信息,这样我就可以用python处理它了。例如,我有一个包含三个“Person”节点的数据库:

for num in graph.cypher.execute("MATCH (p:Person) RETURN count(*)"): print num

输出:

>> count(*)

3

抱歉,格式太差了,它看起来与mysql输出基本相同。但是,我想使用数字3来进行计算,但是它的类型是py2neo.cypher.core.Record。如何将其转换为python int以便使用它?从更一般的意义上说,我应该如何处理cypher查询,以便返回的数据可以在Python中使用?在


Tags: in信息数据库forexecutereturn节点match
2条回答

graph.cypher.execute()返回包含多个RecordsRecordList。每个Record对应于Cypher查询结果的一行。在

您的RETURN count(*)查询只返回一行,因此for num in ...循环将只触及RecordList中的一个Record。在

要从记录的列中获取数据,可以使用索引或列名:

for num in ... :
    your_count = num[0] # gets the first column

这应该是一个int,但是现在可以使用float()或{}将其转换为任何需要的内容。在


查询只返回一行有一列。您可以将其缩短为:

^{pr2}$

第一个[0]得到结果RecordList的第一个Record,第二个[0]得到{}的第一列。在

看看:http://py2neo.org/2.0/cypher.html#records

您能对__str__()方法执行int(),float()str()操作,该方法看起来正在输出您的示例中所需的值?在

相关问题 更多 >