如何从cassandra表值创建python字典?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从cassandra表值创建python字典?相关的知识,希望对你有一定的参考价值。
我正在尝试创建一个应用程序,我想在python字典中加载一个Cassandra表。
表如下所示 -
startup_id | startup_name
-----------+---------------------
1 | name
2 | gender
3 | address
4 | pincode
5 | phoneno
我想在python字典中加载这个表。
预期产出 -
{'name': '1' , 'gender': '2', 'address': '3', 'pincode': '4', 'phoneno': '5'}
注意 - startup_name列是唯一的,因此我们可以将其添加为python字典中的键。
目前我正在按照以下方式做到这一点 -
main_dict = {}
rows = session.execute('SELECT startup_id,startup_name FROM startup;')
for (id, name) in rows:
main_dict[name] = id
我想知道,他们有任何简单快捷的方法吗?任何能够提高性能的答案都将受到赞赏。
提前致谢!
答案
以下是Cassandra文档的链接,其中包含以行为单位返回行的代码示例:https://datastax.github.io/python-driver/api/cassandra/query.html#cassandra.query.dict_factory基本上,您将会话的行工厂更改为dict_factory。
session = cluster.connect(...)
session.row_factory = dict_factory
session.execute(...)
顺便说一句,默认情况下,返回的行已经命名为元组,因此您可以使用列名作为对象成员,如下所示:
rows = session.execute("select peer,release_version,rack,data_center from system.peers;")
for row in rows:
print(row.release_version, row.rack, row.data_center)
以上是关于如何从cassandra表值创建python字典?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 python cassandra 驱动程序传递 cassandra 函数?