我正在使用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以便我可以使用它?在更一般的意义上,我应该如何处理密码查询,以便我可以在Python中使用我得到的数据?
答案 0 :(得分:0)
你可以在__str__()
方法上使用int(),float()str(),它看起来是在你的例子中输出你想要的值吗?
答案 1 :(得分:0)
graph.cypher.execute()
会返回包含多个RecordList
的{{1}}。每个Records
对应于Cypher查询结果的一行。
您的Record
查询只返回一行,因此RETURN count(*)
循环只会触及for num in ...
中的一个Record
。
要从记录列中获取数据,可以使用索引或列名称:
RecordList
这应该是for num in ... :
your_count = num[0] # gets the first column
,但您现在可以使用int
或float()
将其转换为您需要的任何内容。
您的查询只返回一行一列。您可以将其缩短为:
int()
第一个your_count = graph.cypher.execute("MATCH (p:Person) RETURN count(*)")[0][0]
获得结果[0]
的第一个Record
,第二个RecordList
获得[0]
的第一列。