2017-06-20 10 views
0

私は1つのアプリケーションを作成しようとしています。このアプリケーションでは、1つのCassandraテーブルをPython辞書にロードします。cassandraテーブルの値からPython辞書を作成するには?

以下の表のように見える -

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'} 

NOTE出力 - 期待

- startup_nameの欄には、私たちはPythonの辞書でキーとしてこれを追加することができますユニークです。現在、私はそれを行うための方法の下に、次のよ

- 私が知りたい

main_dict = {} 
rows = session.execute('SELECT startup_id,startup_name FROM startup;') 
for (id, name) in rows: 
    main_dict[name] = id 

は、これを行うには、その任意の単純かつ迅速な方法ですか?パフォーマンスを向上させるすべての回答が評価されます。

ありがとうございました!

答えて

0

ここに、dictsとして行を返すコード例がある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) 
関連する問題