如何从cassandra表值创建python字典?

问题描述 投票:0回答:1

我正在尝试创建一个应用程序,我想在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

我想知道,他们有任何简单快捷的方法吗?任何能够提高性能的答案都将受到赞赏。

提前致谢!

python-2.7 dictionary cassandra
1个回答
0
投票

以下是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)
© www.soinside.com 2019 - 2024. All rights reserved.