2017-06-20 1 views
0

Ich versuche, eine Anwendung zu erstellen, in der ich eine Cassandra-Tabelle in Python-Wörterbuch laden möchte.Wie erstellt man ein Python-Wörterbuch aus Cassandra-Tabellenwerten?

Tabelle sieht aus wie unten -

startup_id | startup_name 
-----------+--------------------- 
     1 |  name 
     2 |  gender 
     3 |  address 
     4 |  pincode  
     5 |  phoneno 

ich diese Tabelle in Python Wörterbuch laden möchten.

Erwartet Output-

{'name': '1' , 'gender': '2', 'address': '3', 'pincode': '4', 'phoneno': '5'} 

HINWEIS - startup_name Spalte ist einzigartig, so können wir dies als Schlüssel in Python Wörterbuch hinzuzufügen.

Derzeit unten Art und Weise ich folge, das zu tun -

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

Ich mag wissen, ist sie jeder einfacher und schnellerer Weg, dies zu tun? Alle Antworten, die die Leistung schneller machen, werden geschätzt.

Vielen Dank im Voraus!

Antwort

0

Hier ist ein Link zur Cassandra-Dokumentation, die ein Codebeispiel für das Zurückgeben von Zeilen als dicts enthält: https://datastax.github.io/python-driver/api/cassandra/query.html#cassandra.query.dict_factory Sie ändern grundlegend die Zeilenfactory für die Sitzung zu dict_factory.

session = cluster.connect(...) 
session.row_factory = dict_factory 
session.execute(...) 

By the way, standardmäßig werden die zurückgegebenen Zeilen bereits genannten Tupel, so dass Sie die Spaltennamen als Objektelemente, wie diese verwenden:

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) 
Verwandte Themen