1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import csv
from sqlalchemy import bindparam, create_engine, MetaData
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql://dawn_user@debian/dawndb')
meta = MetaData()
meta.reflect(bind=engine)
counterparties = meta.tables['counterparties']
ins = counterparties.insert().values(code = bindparam('CODE'),
name = bindparam('FIRM'),
dtc_number = bindparam('DTC Number'),
sales_contact = bindparam('Sales Contact'),
sales_email = bindparam('Email1'),
sales_phone = bindparam('Phone'),
valuation_contact1 = bindparam('Valuation Contact1'),
valuation_email1 = bindparam('Valuation Contact1 Email'),
valuation_contact2 = bindparam('Valuation Contact2'),
valuation_email2 = bindparam('Valuation Contact2 Email'),
valuation_contact3 = bindparam('Valuation Contact3'),
valuation_email3 = bindparam('Valuation Contact3 Email'),
notes = bindparam('Valuation Note'))
with open("/home/share/CorpCDOs/data/counterparties.csv") as fh:
csvreader = csv.DictReader(fh)
to_insert = []
for line in csvreader:
for k, v in line.items():
if v=="":
line[k] = None
if any(line.values()):
line['city'] = line['Location'].split(", ")[0]
line['state'] = line['Location'].split(", ")[1]
to_insert.append(line)
conn = engine.connect()
conn.execute(ins, to_insert)
|