In [ ]:
import pandas as pd
import sqlalchemy

LOCAL_DB_URL = "postgres://just_married:just_married@localhost:5440/just_married"

In [ ]:
df = pd.read_csv('/home/andrea/projects/personal/just-married/invitati.csv')

In [ ]:
templ = "INSERT INTO family (invited_by, lunch, family_name, requires_accommodation) VALUES ('{}', {}, '{}', {})"

In [ ]:
dbconn = sqlalchemy.create_engine(LOCAL_DB_URL)

In [ ]:
pd.read_sql("select * from family", dbconn)

In [ ]:
def iter_df(df):
    yield from df.T.to_dict().values()

In [ ]:
def d_to_insert(d):
    name = d['Name']
    lunch = 'true' if d['Lunch'] == 'x' else 'false'
    invited_by = d['Invited by'].lower().strip()
    need_accommodation = 'true' if invited_by == 'enrica' else 'false'
    return templ.format(invited_by, lunch, name, need_accommodation)

In [ ]:
for ins in map(d_to_insert, iter_df(df)):
    dbconn.execute(ins)

In [ ]: