如何从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 中检索表值的键?

如何从具有命名参数的表值函数创建 ADODB 记录集

如何从 python cassandra 驱动程序传递 cassandra 函数?

如何通过创建字典从python中的以下映射访问城市名称

使用 cassandra 的 python 驱动程序创建新记录时如何设置服务器端时间戳

如何在python中从字典创建属性?