diff options
Diffstat (limited to 'python/load_intex_collateral.py')
| -rw-r--r-- | python/load_intex_collateral.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/python/load_intex_collateral.py b/python/load_intex_collateral.py index f0b918b2..4f3d9fea 100644 --- a/python/load_intex_collateral.py +++ b/python/load_intex_collateral.py @@ -2,9 +2,10 @@ import psycopg2 import os.path import re import csv -from datetime import date, datetime +import datetime import pdb import common +import sys fields = ['Asset Name', 'Issuer', 'Contributed Balance', 'Maturity Date', 'Asset Subtype', \ 'Asset Type', 'Gross Coupon', 'Spread', 'Frequency', 'Next Paydate', 'Second Lien', \ @@ -25,7 +26,8 @@ def sanitize_float(intex_float): def get_latest_dealupdate(workdate): with open(os.path.join(common.root, "data", "clo_universe_intex_" + workdate + ".txt")) as fh: dr = csv.DictReader(fh, dialect='excel-tab') - deal_table = {line['Deal,Tr/CUSIP/ISIN']: datetime.strptime(line['Latest Update'], '%b %d, %Y').date() \ + deal_table = {line['Deal,Tr/CUSIP/ISIN']: + datetime.datetime.strptime(line['Latest Update'], '%b %d, %Y').date() \ for line in dr if 'Paid' not in line['Latest Update']} return deal_table @@ -35,10 +37,13 @@ def upload_data(workdate, conn, cursor): # updatedate = datetime.datetime.strptime(updatedate, '%m/%d/%Y') #dealname = dealname.upper() + ",AD.txt with open( os.path.join(common.root, "data", "Collaterals_" + workdate, dealname), "r") as fh: - dr = csv.DictReader(fh, fieldnames = fields, dialect = 'excel-tab') + dr = csv.DictReader(fh, dialect = 'excel-tab') + missingfields = set(fields) - set(dr.fieldnames) dealname = dealname.split(',')[0].lower() data = [] for line in dr: + for f in missingfields: + line[f] = None if line['Fixed or Float']: line['Fixed or Float'] = line['Fixed or Float'].upper() if line['LoanX ID'] and len(line['LoanX ID']) > 8: @@ -56,7 +61,7 @@ def upload_data(workdate, conn, cursor): if line[field]: line[field] = sanitize_float(line[field]) - r = [convertToNone(line[field]) for field in dr.fieldnames] + r = [convertToNone(line[field]) for field in fields] data.append(r) cursor.execute( "select distinct(updatedate) from et_collateral where dealname='{0}'".format(dealname)) |
