Converting SQL queries into a python dictionary

Question:

I’m trying to convert query results into a dictionary. Here is what I did so far:

from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
from sqlalchemy import create_engine, func

# create engine to hawaii.sqlite
engine = create_engine("sqlite:///Resources/hawaii.sqlite")

# reflect an existing database into a new model
Base = automap_base()
# reflect the tables
Base.prepare(engine, reflect = True)
# Save references to each table
Measurement = Base.classes.measurement
Station = Base.classes.station
# Create our session (link) from Python to the DB
session = Session(engine)

prcp_dict = {}
test_results = session.query(Measurement.date,Measurement.prcp).all()
prcp_dict = [u._asdict() for u in test_results]

What I got was this

[{'date': '2010-01-01', 'prcp': 0.08},
 {'date': '2010-01-02', 'prcp': 0.0},
 {'date': '2010-01-03', 'prcp': 0.0},
 {'date': '2010-01-04', 'prcp': 0.0},
 {'date': '2010-01-06', 'prcp': None},
 {'date': '2010-01-07', 'prcp': 0.06},
 {'date': '2010-01-08', 'prcp': 0.0},
 {'date': '2010-01-09', 'prcp': 0.0},
 {'date': '2010-01-10', 'prcp': 0.0},
 {'date': '2010-01-11', 'prcp': 0.01},
 {'date': '2010-01-12', 'prcp': 0.0},
 {'date': '2010-01-14', 'prcp': 0.0},
 {'date': '2010-01-15', 'prcp': 0.0},
 {'date': '2010-01-16', 'prcp': 0.0},
 {'date': '2010-01-17', 'prcp': 0.0},
 {'date': '2010-01-18', 'prcp': 0.0},
 {'date': '2010-01-19', 'prcp': 0.0},
 {'date': '2010-01-20', 'prcp': 0.0},
 {'date': '2010-01-21', 'prcp': 0.0},
 {'date': '2010-01-22', 'prcp': 0.0},
 {'date': '2010-01-23', 'prcp': 0.0},
 {'date': '2010-01-24', 'prcp': 0.01},
 {'date': '2010-01-25', 'prcp': 0.0},
 {'date': '2010-01-26', 'prcp': 0.04},
 {'date': '2010-01-27', 'prcp': 0.12},
 {'date': '2010-01-28', 'prcp': 0.0},
 {'date': '2010-01-30', 'prcp': None},
 {'date': '2010-01-31', 'prcp': 0.03},
 {'date': '2010-02-01', 'prcp': 0.01},
 {'date': '2010-02-03', 'prcp': None},
 {'date': '2010-02-04', 'prcp': 0.01},
 {'date': '2010-02-05', 'prcp': 0.0},
 {'date': '2010-02-06', 'prcp': 0.0},
 {'date': '2010-02-07', 'prcp': 0.0},
 {'date': '2010-02-08', 'prcp': 0.0},
 {'date': '2010-02-09', 'prcp': 0.0},
 {'date': '2010-02-11', 'prcp': 0.0},
 {'date': '2010-02-12', 'prcp': 0.02},
 {'date': '2010-02-13', 'prcp': 0.01},
 {'date': '2010-02-14', 'prcp': 0.0},
 {'date': '2010-02-15', 'prcp': 0.0},
 {'date': '2010-02-16', 'prcp': 0.0},
 {'date': '2010-02-17', 'prcp': 0.0},
 {'date': '2010-02-19', 'prcp': None},
 {'date': '2010-02-20', 'prcp': 0.03},
 {'date': '2010-02-21', 'prcp': 0.0},
 {'date': '2010-02-22', 'prcp': 0.0},
 {'date': '2010-02-23', 'prcp': 0.0},
 {'date': '2010-02-24', 'prcp': 0.0},
 {'date': '2010-02-25', 'prcp': 0.0},
 {'date': '2010-02-26', 'prcp': 0.0},
 {'date': '2010-02-28', 'prcp': 0.0},
 {'date': '2010-03-01', 'prcp': 0.01},
 {'date': '2010-03-02', 'prcp': 0.0},
 {'date': '2010-03-03', 'prcp': 0.0},
 {'date': '2010-03-04', 'prcp': 0.12},
 {'date': '2010-03-05', 'prcp': 0.08},
 {'date': '2010-03-06', 'prcp': 0.03},
 {'date': '2010-03-07', 'prcp': 0.0},
 {'date': '2010-03-08', 'prcp': 0.43},
 {'date': '2010-03-09', 'prcp': 0.06},
 {'date': '2010-03-11', 'prcp': None},
 {'date': '2010-03-12', 'prcp': 0.0},
 {'date': '2010-03-13', 'prcp': 0.0},
 {'date': '2010-03-14', 'prcp': 0.0},
 {'date': '2010-03-15', 'prcp': 0.06},
 {'date': '2010-03-17', 'prcp': 0.0},
 {'date': '2010-03-18', 'prcp': 0.0},
 {'date': '2010-03-21', 'prcp': 0.0},
 {'date': '2010-03-22', 'prcp': 0.0},
 {'date': '2010-03-23', 'prcp': 0.0},
 {'date': '2010-03-24', 'prcp': 0.0},
 {'date': '2010-03-26', 'prcp': None},
 {'date': '2010-03-27', 'prcp': 0.0},
 {'date': '2010-03-28', 'prcp': 0.0},
 {'date': '2010-03-29', 'prcp': 0.0},
 {'date': '2010-03-30', 'prcp': 0.0},
 {'date': '2010-03-31', 'prcp': 0.0},
 {'date': '2010-04-01', 'prcp': 0.0},
 {'date': '2010-04-02', 'prcp': 0.01},
 {'date': '2010-04-03', 'prcp': 0.17},
 {'date': '2010-04-04', 'prcp': 0.15},
 {'date': '2010-04-05', 'prcp': 0.27},
 {'date': '2010-04-06', 'prcp': 0.01},
 {'date': '2010-04-08', 'prcp': 0.0},
 {'date': '2010-04-09', 'prcp': 0.01},
 {'date': '2010-04-10', 'prcp': 0.0},
 {'date': '2010-04-11', 'prcp': 0.01},
 {'date': '2010-04-12', 'prcp': 0.01},
 {'date': '2010-04-13', 'prcp': 0.0},
 {'date': '2010-04-15', 'prcp': 0.0},
 {'date': '2010-04-16', 'prcp': 0.01},
 {'date': '2010-04-17', 'prcp': 0.0},
 {'date': '2010-04-18', 'prcp': 0.0},
 {'date': '2010-04-19', 'prcp': 0.0},
 {'date': '2010-04-20', 'prcp': 0.04},
 {'date': '2010-04-21', 'prcp': 0.01},
 {'date': '2010-04-22', 'prcp': 0.0},
 {'date': '2010-04-23', 'prcp': 0.02},
 {'date': '2010-04-24', 'prcp': 0.0},
 {'date': '2010-04-25', 'prcp': 0.0},
 {'date': '2010-04-26', 'prcp': 0.0},
 {'date': '2010-04-28', 'prcp': 0.0},
 {'date': '2010-04-30', 'prcp': 0.0},
 {'date': '2010-05-01', 'prcp': 0.0},
 {'date': '2010-05-02', 'prcp': 0.03},
 {'date': '2010-05-03', 'prcp': 0.2},
 {'date': '2010-05-04', 'prcp': 0.08},
 {'date': '2010-05-05', 'prcp': 0.01},
 {'date': '2010-05-06', 'prcp': 0.0},
 {'date': '2010-05-07', 'prcp': 0.05},
 {'date': '2010-05-08', 'prcp': 0.0},
 {'date': '2010-05-09', 'prcp': 0.0},
 {'date': '2010-05-10', 'prcp': 0.0},
 {'date': '2010-05-11', 'prcp': 0.0},
 {'date': '2010-05-13', 'prcp': 0.0},
 {'date': '2010-05-14', 'prcp': 0.0},
 {'date': '2010-05-15', 'prcp': 0.0},
 {'date': '2010-05-16', 'prcp': 0.03},
 {'date': '2010-05-17', 'prcp': 0.0},
 {'date': '2010-05-18', 'prcp': 0.0},
 {'date': '2010-05-19', 'prcp': 0.0},
 {'date': '2010-05-21', 'prcp': None},
 {'date': '2010-05-22', 'prcp': 0.0},
 {'date': '2010-05-23', 'prcp': 0.05},
 {'date': '2010-05-24', 'prcp': 0.0},
 {'date': '2010-05-25', 'prcp': 0.0},
 {'date': '2010-05-26', 'prcp': 0.02},
 {'date': '2010-05-27', 'prcp': 0.0},
 {'date': '2010-05-28', 'prcp': 0.0},
 {'date': '2010-05-29', 'prcp': 0.0},
 {'date': '2010-05-30', 'prcp': 0.0},
 {'date': '2010-05-31', 'prcp': 0.0},
 {'date': '2010-06-01', 'prcp': 0.0},
 {'date': '2010-06-02', 'prcp': 0.01},
 {'date': '2010-06-03', 'prcp': 0.0},
 {'date': '2010-06-04', 'prcp': 0.0},
 {'date': '2010-06-05', 'prcp': 0.0},
 {'date': '2010-06-06', 'prcp': 0.0},
 {'date': '2010-06-07', 'prcp': 0.0},
 {'date': '2010-06-08', 'prcp': 0.0},
 {'date': '2010-06-09', 'prcp': 0.0},
 {'date': '2010-06-10', 'prcp': 0.0},
 {'date': '2010-06-11', 'prcp': 0.0},
 {'date': '2010-06-12', 'prcp': 0.0},
 {'date': '2010-06-13', 'prcp': 0.0},
 {'date': '2010-06-14', 'prcp': 0.0},
 {'date': '2010-06-15', 'prcp': 0.0},
 {'date': '2010-06-16', 'prcp': 0.0},
 {'date': '2010-06-17', 'prcp': 0.0},
 {'date': '2010-06-18', 'prcp': 0.0},
 {'date': '2010-06-19', 'prcp': 0.0},
 {'date': '2010-06-20', 'prcp': 0.0},
 {'date': '2010-06-21', 'prcp': 0.0},
 {'date': '2010-06-22', 'prcp': 0.0},
 {'date': '2010-06-23', 'prcp': 0.0},
 {'date': '2010-06-24', 'prcp': 0.0},
 {'date': '2010-06-25', 'prcp': 0.0},
 {'date': '2010-06-26', 'prcp': 0.02},
 {'date': '2010-06-27', 'prcp': 0.0},
 {'date': '2010-06-28', 'prcp': 0.0},
 {'date': '2010-06-29', 'prcp': 0.0},
 {'date': '2010-06-30', 'prcp': 0.0},
 {'date': '2010-07-01', 'prcp': 0.01},
 {'date': '2010-07-02', 'prcp': 0.05},
 {'date': '2010-07-03', 'prcp': 0.09},
 {'date': '2010-07-04', 'prcp': 0.05},
 {'date': '2010-07-05', 'prcp': 0.06},
 {'date': '2010-07-06', 'prcp': 0.08},
 {'date': '2010-07-07', 'prcp': 0.08},
 {'date': '2010-07-08', 'prcp': 0.03},
 {'date': '2010-07-09', 'prcp': 0.06},
 {'date': '2010-07-10', 'prcp': 0.09},
 {'date': '2010-07-11', 'prcp': 0.0},
 {'date': '2010-07-12', 'prcp': 0.0},
 {'date': '2010-07-13', 'prcp': 0.0},
 {'date': '2010-07-16', 'prcp': None},
 {'date': '2010-07-17', 'prcp': 0.02},
 {'date': '2010-07-18', 'prcp': 0.0},
 {'date': '2010-07-19', 'prcp': 0.04},
 {'date': '2010-07-21', 'prcp': 0.0},
 {'date': '2010-07-22', 'prcp': 0.0},
 {'date': '2010-07-24', 'prcp': 0.0},
 {'date': '2010-07-25', 'prcp': 0.0},
 {'date': '2010-07-26', 'prcp': 0.0},
 {'date': '2010-07-27', 'prcp': 0.0},
 {'date': '2010-07-28', 'prcp': 0.0},
 {'date': '2010-07-29', 'prcp': 0.0},
 {'date': '2010-07-30', 'prcp': 0.0},
 {'date': '2010-07-31', 'prcp': 0.02},
 {'date': '2010-08-01', 'prcp': 0.04},
 {'date': '2010-08-02', 'prcp': 0.01},
 {'date': '2010-08-03', 'prcp': 0.02},
 {'date': '2010-08-04', 'prcp': 0.07},
 {'date': '2010-08-05', 'prcp': 0.08},
 {'date': '2010-08-06', 'prcp': 0.03},
 {'date': '2010-08-07', 'prcp': 0.0},
 {'date': '2010-08-08', 'prcp': 0.0},
 {'date': '2010-08-09', 'prcp': 0.0},
 {'date': '2010-08-10', 'prcp': 0.0},
 {'date': '2010-08-11', 'prcp': 0.0},
 {'date': '2010-08-12', 'prcp': 0.0},
 {'date': '2010-08-13', 'prcp': 0.0},
 {'date': '2010-08-14', 'prcp': 0.0},
 {'date': '2010-08-15', 'prcp': 0.01},
 {'date': '2010-08-16', 'prcp': 0.0},
 {'date': '2010-08-17', 'prcp': 0.05},
 {'date': '2010-08-18', 'prcp': 0.0},
 {'date': '2010-08-19', 'prcp': 0.0},
 {'date': '2010-08-20', 'prcp': 0.0},
 {'date': '2010-08-21', 'prcp': 0.0},
 {'date': '2010-08-22', 'prcp': 0.0},
 {'date': '2010-08-23', 'prcp': 0.01},
 {'date': '2010-08-24', 'prcp': 0.0},
 {'date': '2010-08-25', 'prcp': 0.04},
 {'date': '2010-08-26', 'prcp': 0.03},
 {'date': '2010-08-27', 'prcp': 0.0},
 {'date': '2010-08-28', 'prcp': 0.04},
 {'date': '2010-08-29', 'prcp': 0.0},
 {'date': '2010-08-30', 'prcp': 0.0},
 {'date': '2010-08-31', 'prcp': 0.0},
 {'date': '2010-09-01', 'prcp': 0.0},
 {'date': '2010-09-02', 'prcp': 0.02},
 {'date': '2010-09-03', 'prcp': 0.04},
 {'date': '2010-09-04', 'prcp': 0.01},
 {'date': '2010-09-05', 'prcp': 0.0},
 {'date': '2010-09-06', 'prcp': 0.0},
 {'date': '2010-09-07', 'prcp': 0.06},
 {'date': '2010-09-08', 'prcp': 0.0},
 {'date': '2010-09-09', 'prcp': 0.0},
 {'date': '2010-09-10', 'prcp': 0.0},
 {'date': '2010-09-11', 'prcp': 0.05},
 {'date': '2010-09-12', 'prcp': 0.0},
 {'date': '2010-09-13', 'prcp': 0.0},
 {'date': '2010-09-14', 'prcp': 0.0},
 {'date': '2010-09-15', 'prcp': 0.0},
 {'date': '2010-09-16', 'prcp': 0.0},
 {'date': '2010-09-17', 'prcp': 0.0},
 {'date': '2010-09-19', 'prcp': 0.0},
 {'date': '2010-09-20', 'prcp': 0.0},
 {'date': '2010-09-21', 'prcp': 0.0},
 {'date': '2010-09-22', 'prcp': 0.04},
 {'date': '2010-09-23', 'prcp': 0.0},
 {'date': '2010-09-24', 'prcp': 0.0},
 {'date': '2010-09-25', 'prcp': 0.0},
 {'date': '2010-09-26', 'prcp': 0.0},
 {'date': '2010-09-27', 'prcp': 0.0},
 {'date': '2010-09-28', 'prcp': 0.0},
 {'date': '2010-09-29', 'prcp': 0.0},
 {'date': '2010-09-30', 'prcp': 0.57},
 {'date': '2010-10-01', 'prcp': 0.31},
 {'date': '2010-10-02', 'prcp': 0.03},
 {'date': '2010-10-03', 'prcp': 0.0},
 {'date': '2010-10-04', 'prcp': 0.06},
 {'date': '2010-10-05', 'prcp': 0.0},
 {'date': '2010-10-06', 'prcp': 0.0},
 {'date': '2010-10-07', 'prcp': 0.0},
 {'date': '2010-10-08', 'prcp': 0.0},
 {'date': '2010-10-09', 'prcp': 0.0},
 {'date': '2010-10-10', 'prcp': 0.0},
 {'date': '2010-10-11', 'prcp': 0.0},
 {'date': '2010-10-12', 'prcp': 0.0},
 {'date': '2010-10-13', 'prcp': 0.0},
 {'date': '2010-10-15', 'prcp': 0.0},
 {'date': '2010-10-16', 'prcp': 0.0},
 {'date': '2010-10-17', 'prcp': 0.0},
 {'date': '2010-10-18', 'prcp': 0.0},
 {'date': '2010-10-19', 'prcp': 0.07},
 {'date': '2010-10-20', 'prcp': 0.0},
 {'date': '2010-10-21', 'prcp': 0.0},
 {'date': '2010-10-22', 'prcp': 0.0},
 {'date': '2010-10-23', 'prcp': 0.0},
 {'date': '2010-10-24', 'prcp': 0.0},
 {'date': '2010-10-25', 'prcp': 0.0},
 {'date': '2010-10-26', 'prcp': 0.07},
 {'date': '2010-10-27', 'prcp': 0.05},
 {'date': '2010-10-28', 'prcp': 0.06},
 {'date': '2010-10-29', 'prcp': 0.03},
 {'date': '2010-10-30', 'prcp': 0.02},
 {'date': '2010-10-31', 'prcp': 0.0},
 {'date': '2010-11-01', 'prcp': 0.01},
 {'date': '2010-11-02', 'prcp': 0.01},
 {'date': '2010-11-04', 'prcp': None},
 {'date': '2010-11-05', 'prcp': 0.0},
 {'date': '2010-11-06', 'prcp': 0.0},
 {'date': '2010-11-07', 'prcp': 0.0},
 {'date': '2010-11-08', 'prcp': 0.0},
 {'date': '2010-11-09', 'prcp': 0.0},
 {'date': '2010-11-10', 'prcp': 0.23},
 {'date': '2010-11-11', 'prcp': 0.0},
 {'date': '2010-11-12', 'prcp': 0.0},
 {'date': '2010-11-13', 'prcp': 0.0},
 {'date': '2010-11-16', 'prcp': 0.0},
 {'date': '2010-11-17', 'prcp': 0.0},
 {'date': '2010-11-19', 'prcp': None},
 {'date': '2010-11-20', 'prcp': 0.03},
 {'date': '2010-11-21', 'prcp': 0.0},
 {'date': '2010-11-22', 'prcp': 0.0},
 {'date': '2010-11-23', 'prcp': 0.0},
 {'date': '2010-11-24', 'prcp': 0.0},
 {'date': '2010-11-25', 'prcp': 0.0},
 {'date': '2010-11-27', 'prcp': 0.0},
 {'date': '2010-11-28', 'prcp': 0.0},
 {'date': '2010-11-29', 'prcp': 0.0},
 {'date': '2010-11-30', 'prcp': 0.0},
 {'date': '2010-12-01', 'prcp': 0.04},
 {'date': '2010-12-03', 'prcp': 0.0},
 {'date': '2010-12-04', 'prcp': 0.0},
 {'date': '2010-12-06', 'prcp': 0.0},
 {'date': '2010-12-07', 'prcp': 0.0},
 {'date': '2010-12-08', 'prcp': 0.0},
 {'date': '2010-12-09', 'prcp': 0.0},
 {'date': '2010-12-10', 'prcp': 1.58},
 {'date': '2010-12-11', 'prcp': 0.77},
 {'date': '2010-12-12', 'prcp': 0.0},
 {'date': '2010-12-13', 'prcp': 0.0},
 {'date': '2010-12-14', 'prcp': 0.0},
 {'date': '2010-12-15', 'prcp': 0.0},
 {'date': '2010-12-16', 'prcp': 0.0},
 {'date': '2010-12-17', 'prcp': 0.0},
 {'date': '2010-12-18', 'prcp': 0.0},
 {'date': '2010-12-19', 'prcp': 1.4},
 {'date': '2010-12-23', 'prcp': 0.0},
 {'date': '2010-12-24', 'prcp': 0.0},
 {'date': '2010-12-26', 'prcp': None},
 {'date': '2010-12-27', 'prcp': 0.13},
 {'date': '2010-12-28', 'prcp': 0.55},
 {'date': '2010-12-29', 'prcp': 0.06},
 {'date': '2010-12-30', 'prcp': 0.01},
 {'date': '2010-12-31', 'prcp': 0.0},
 ]

So I got a dictionary but it’s not in the format I wanted. I would like each of the date as the keys and each of the prcp data as the key values. How would one does that instead? I was referencing this link
https://www.geeksforgeeks.org/python-convert-a-list-of-tuples-into-dictionary/ and this post convert sqlalchemy query result to a list of dicts

Asked By: Itsnhantransitive

||

Answers:

You can do this with this list comprehension:

list_of_dicts = [{result.date: result.prcp} for result in test_results
Answered By: snakecharmerb
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.