Esempio n. 1
0
def loanquarterly(tloan,nyear,nqrt):

	fdir=os.getcwd()+"/Data/"
	
	fin=open(fdir+"/"+tloan+"_Loans_"+nyear+".csv","rU")
	frin=csv.reader(fin,delimiter=",")
	fdin=list(frin)
	
	fout=open(fdir+"/"+tloan+"_Loans_"+nyear+"_Q"+str(nqrt)+".csv","wb")
	
	fout.write("Cust_Code,Gender,Age,Branch_Code,Branch,Product,Purpose,Loan_Cycle,Approve_Date,Maturity_Date,Closed_Date,"
		"Duration,Currency,Amount,Markup,Installment_AFA,Net_Income_USD,Gross_Income_USD\n")
	
	print "      Searching ",len(fdin)-1," clients for PPI records in Q",nqrt," of ",nyear
	
	if nqrt==1:
		bqrt="1/1/"+nyear
		eqrt="3/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==2:
		bqrt="4/1/"+nyear
		eqrt="6/30/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==3:
		bqrt="7/1/"+nyear
		eqrt="9/30/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==4:
		bqrt="10/1/"+nyear
		eqrt="12/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	else: 
		print "No quarter selected, so using default of first quarter"
		bqrt="1/1/"+nyear
		eqrt="3/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	
	nclients=0
	
	for row in range(1,len(fdin)):
	
		if row%1000==0: print "      Searched ",row," of ",len(fdin)-1," clients..."
		
		if tloan.lower()=="open": pdate=datetime.strptime(fdin[row][6],"%m/%d/%Y")
		if tloan.lower()=="closed": pdate=datetime.strptime(fdin[row][7],"%m/%d/%Y")
		intime=findinperiod(sdate,edate,pdate)
		
		if intime!=1: continue
		
		csv.writer(fout).writerow(fdin[row])
		nclients+=1
	
	print "   Finished finding ",nclients," out of ",len(fdin)-1," clients with PPI records in Q",nqrt," of ",nyear
	fin.close()
	fout.close()
Esempio n. 2
0
def povertyquarterly(nyear, nqrt):

    fdir = os.getcwd() + "/Data/"

    fin = open(fdir + "/Poverty_Likelihood_" + nyear + "_Match_Loan.csv", "rU")
    frin = csv.reader(fin, delimiter=",")
    fdin = list(frin)

    fout = open(
        fdir + "/Poverty_Likelihood_" + nyear + "_Match_Loan_Q" + str(nqrt) +
        ".csv", "wb")

    csv.writer(fout).writerow(fdin[0])

    print "      Searching ", len(
        fdin) - 1, " clients for records in Q", nqrt, " of ", nyear

    if nqrt == 1:
        bqrt = "1/1/" + nyear
        eqrt = "3/31/" + nyear
        sdate = datetime.strptime(bqrt, "%m/%d/%Y")
        edate = datetime.strptime(eqrt, "%m/%d/%Y")
    elif nqrt == 2:
        bqrt = "4/1/" + nyear
        eqrt = "6/30/" + nyear
        sdate = datetime.strptime(bqrt, "%m/%d/%Y")
        edate = datetime.strptime(eqrt, "%m/%d/%Y")
    elif nqrt == 3:
        bqrt = "7/1/" + nyear
        eqrt = "9/30/" + nyear
        sdate = datetime.strptime(bqrt, "%m/%d/%Y")
        edate = datetime.strptime(eqrt, "%m/%d/%Y")
    elif nqrt == 4:
        bqrt = "10/1/" + nyear
        eqrt = "12/31/" + nyear
        sdate = datetime.strptime(bqrt, "%m/%d/%Y")
        edate = datetime.strptime(eqrt, "%m/%d/%Y")
    else:
        print "No quarter selected, so using default of first quarter"
        bqrt = "1/1/" + nyear
        eqrt = "3/31/" + nyear
        sdate = datetime.strptime(bqrt, "%m/%d/%Y")
        edate = datetime.strptime(eqrt, "%m/%d/%Y")

    nclients = 0

    for row in range(1, len(fdin)):

        if row % 1000 == 0:
            print "      Searched ", row, " of ", len(fdin) - 1, " clients..."

        pdate = datetime.strptime(fdin[row][10], "%m/%d/%Y")
        intime = findinperiod(sdate, edate, pdate)

        if intime != 1: continue

        csv.writer(fout).writerow(fdin[row])
        nclients += 1

    print "   Finished finding ", nclients, " out of ", len(
        fdin) - 1, " clients with records in Q", nqrt, " of ", nyear
    fin.close()
    fout.close()
Esempio n. 3
0
def closedyearquart(nyear,nqrt,fname):

	fdir=os.getcwd()+"/Data/"
	
	print "   Loading file"
	fin=open(fdir+"/"+fname+".csv","rU")
	frin=csv.reader(fin,delimiter=",")
	fdin=list(frin)
	print "   File loaded"

	fout=open(fdir+"/Closed_Q"+str(nqrt)+"_"+nyear+".csv","wb")
	print "   Writing file to ",fdir

	if nqrt==0:
		bqrt="1/1/"+nyear
		eqrt="12/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==1:
		bqrt="1/1/"+nyear
		eqrt="3/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==2:
		bqrt="4/1/"+nyear
		eqrt="6/30/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==3:
		bqrt="7/1/"+nyear
		eqrt="9/30/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	elif nqrt==4:
		bqrt="10/1/"+nyear
		eqrt="12/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	else: 
		print "No quarter selected, so using default of all year"
		bqrt="1/1/"+nyear
		eqrt="12/31/"+nyear
		sdate=datetime.strptime(bqrt,"%m/%d/%Y")
		edate=datetime.strptime(eqrt,"%m/%d/%Y")
	
	csv.writer(fout).writerow(fdin[0])

	nclients=0
	for row in range(1,len(fdin)):
	
		if row%1000==0: print "      Searched ",row," of ",len(fdin)-1," clients..."
		
		pdate=datetime.strptime(fdin[row][7],"%m/%d/%Y")
		cdate=datetime.strptime(fdin[row][23],"%m/%d/%Y")
		intime=findinperiod(sdate,edate,pdate)
		outtime=findinperiod(sdate,edate,cdate)
		
		if intime!=1 or cdate<sdate: continue
		
		csv.writer(fout).writerow(fdin[row])
		nclients+=1
	
	print "   Finished finding ",nclients," out of ",len(fdin)-1," clients with records in Q",nqrt," of ",nyear
	fin.close()
	fout.close()
Esempio n. 4
0
def loansadd(nyear, oyear, fname, fadd, ftype):

    fdir = os.getcwd() + "/Data/"

    print "      Loading PPI file with scores from ", nyear, " matched to those of ", oyear, " already matched to loans"
    fin = open(
        fdir + "/PPI_Compare_" + oyear + "_to_" + nyear +
        "_Match_Loan_Match_Loan" + fadd + ".csv", "rU")
    frin = csv.reader(fin, delimiter=",")
    fdin = list(frin)

    print "      Loading file with all ", ftype, " loans on record"
    floan = open(os.getcwd() + "/" + fname + ".csv", "rU")
    frloan = csv.reader(floan, delimiter=",")
    fdloan = list(frloan)

    fout = open(
        fdir + "/PPI_Compare_" + oyear + "_to_" + nyear +
        "_Match_Loan_Match_Loan" + fadd + "_Final.csv", "wb")

    if ftype.lower() == "open":
        csv.writer(fout).writerow(fdin[0] + [
            "LOAN_DISB_1", "LOAN_CLOSED_1", "PROD_1", "PURP_1", "LOAN_DISB_2",
            "LOAN_CLOSED_2", "PROD_2", "PURP_2", "LOAN_DISB_3",
            "LOAN_CLOSED_3", "PROD_3", "PURP_3"
        ])
    if ftype.lower() == "closed":
        csv.writer(fout).writerow(fdin[0] + [
            "LOAN_DISB_4", "LOAN_CLOSED_4", "PROD_4", "PURP_4", "LOAN_DISB_5",
            "LOAN_CLOSED_5", "PROD_5", "PURP_5", "LOAN_DISB_6",
            "LOAN_CLOSED_6", "PROD_6", "PURP_6"
        ])
    plce = 1
    mtch = 0
    nclients = 0

    print "      Searching ", len(
        fdin) - 1, " clients for any additional ", ftype, " loans"

    for row in range(1, len(fdin)):
        if row % 1000 == 0:
            print "         Searched ", row, " of ", len(
                fdin) - 1, " clients..."
        for sow in range(plce, len(fdloan)):
            if mtch != 1:
                if ftype.lower() == "open":
                    mtch = compcust(fdin[row][0], fdloan[sow][0])
                if ftype.lower() == "closed":
                    mtch = compcust(fdin[row][0], fdloan[sow][3])

                if mtch == 1:
                    plce = sow
                    nwrit = 0
                    if ftype.lower() == "open":
                        ldate = datetime.strptime(fdloan[sow][2], "%m/%d/%y")
                    if ftype.lower() == "closed":
                        ldate = datetime.strptime(fdloan[sow][5], "%m/%d/%y")
                    sdate = datetime.strptime(fdin[row][12], "%m/%d/%y")
                    edate = datetime.strptime(fdin[row][10], "%m/%d/%y")

                    intime = findinperiod(sdate, edate, ldate)

                    if ftype.lower() == "open":
                        nlpurp = productnamepurpose(fdloan[sow][6])
                    if ftype.lower() == "closed":
                        nlpurp = productpurpose(float(fdloan[sow][0]),
                                                float(fdloan[sow][1]))
                    if compcust(sdate, ldate) == 1 and compcust(
                            fdin[row][22], nlpurp) == 1:
                        mtch = 0
                        continue
                    if compcust(edate, ldate) == 1 and compcust(
                            fdin[row][18], nlpurp) == 1:
                        mtch = 0
                        continue

                    if intime == 1:
                        if ftype.lower() == "open":
                            ndups = loandups(sow, 0, fdloan, 2)
                        if ftype.lower() == "closed":
                            ndups = loandups(sow, 3, fdloan, 2)

                        wrt1 = 0
                        wrt2 = 0
                        wrt3 = 0

                        if ftype.lower() == "open":
                            nldate1 = datetime.strptime(
                                fdloan[sow][2], "%m/%d/%y")
                            purp1 = productnamepurpose(fdloan[sow][6])
                            if findinperiod(sdate, edate, nldate1) != 1:
                                wrt1 = 1
                            if compcust(edate, nldate1) == 1 and compcust(
                                    fdin[row][18], purp1) == 1:
                                wrt1 = 1
                            if ndups == 0:
                                if wrt1 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, "", "", "", "",
                                        "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                            if ndups == 1:
                                nldate2 = datetime.strptime(
                                    fdloan[sow + 1][2], "%m/%d/%y")
                                purp2 = productnamepurpose(fdloan[sow + 1][6])
                                if findinperiod(sdate, edate, nldate2) != 1:
                                    wrt2 = 1
                                if compcust(edate, nldate2) == 1 and compcust(
                                        fdin[row][18], purp2) == 1:
                                    wrt2 = 1
                                if wrt1 != 1 and wrt2 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, fdloan[sow + 1]
                                        [2], fdloan[sow + 1][3], fdloan[
                                            sow + 1][6], purp2, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, "", "", "", "",
                                        "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow + 1][2], fdloan[
                                            sow + 1][3], fdloan[sow + 1][6],
                                        purp2, "", "", "", "", "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                                plce = sow + 1
                            if ndups == 2:
                                nldate2 = datetime.strptime(
                                    fdloan[sow + 1][2], "%m/%d/%y")
                                purp2 = productnamepurpose(fdloan[sow + 1][6])
                                nldate3 = datetime.strptime(
                                    fdloan[sow + 2][2], "%m/%d/%y")
                                purp3 = productnamepurpose(fdloan[sow + 2][6])
                                if findinperiod(sdate, edate, nldate2) != 1:
                                    wrt2 = 1
                                if compcust(edate, nldate2) == 1 and compcust(
                                        fdin[row][18], purp2) == 1:
                                    wrt2 = 1
                                if findinperiod(sdate, edate, nldate3) != 1:
                                    wrt3 = 1
                                if compcust(edate, nldate3) == 1 and compcust(
                                        fdin[row][18], purp3) == 1:
                                    wrt3 = 1
                                if wrt1 != 1 and wrt2 != 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, fdloan[sow + 1]
                                        [2], fdloan[sow + 1][3], fdloan[
                                            sow + 1][6], purp2, fdloan[sow + 2]
                                        [2], fdloan[sow +
                                                    2][3], fdloan[sow +
                                                                  2][6], purp3
                                    ])
                                elif wrt1 != 1 and wrt2 != 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, fdloan[sow + 1]
                                        [2], fdloan[sow + 1][3], fdloan[
                                            sow + 1][6], purp2, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, fdloan[sow + 2]
                                        [2], fdloan[sow + 2][3], fdloan[
                                            sow + 2][6], purp3, "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow + 1][2], fdloan[sow + 1][3],
                                        fdloan[sow + 1][6], purp2, fdloan[
                                            sow + 2][2], fdloan[sow + 2][3],
                                        fdloan[sow +
                                               2][6], purp3, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][2], fdloan[sow][3],
                                        fdloan[sow][6], purp1, "", "", "", "",
                                        "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow + 1][2], fdloan[
                                            sow + 1][3], fdloan[sow + 1][6],
                                        purp2, "", "", "", "", "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 == 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow + 2][2], fdloan[
                                            sow + 2][3], fdloan[sow + 2][6],
                                        purp3, "", "", "", "", "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                                plce = sow + 2
                        if ftype.lower() == "closed":
                            nldate1 = datetime.strptime(
                                fdloan[sow][5], "%m/%d/%y")
                            prod1 = productname(float(fdloan[sow][0]),
                                                float(fdloan[sow][1]))
                            purp1 = productpurpose(float(fdloan[sow][0]),
                                                   float(fdloan[sow][1]))
                            if findinperiod(sdate, edate, nldate1) != 1:
                                wrt1 = 1
                            if compcust(edate, nldate1) == 1 and compcust(
                                    fdin[row][18], purp1) == 1:
                                wrt1 = 1
                            if ndups == 0:
                                if wrt1 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, "", "", "", "", "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                            if ndups == 1:
                                nldate2 = datetime.strptime(
                                    fdloan[sow + 1][5], "%m/%d/%y")
                                prod2 = productname(float(fdloan[sow + 1][0]),
                                                    float(fdloan[sow + 1][1]))
                                purp2 = productpurpose(
                                    float(fdloan[sow + 1][0]),
                                    float(fdloan[sow + 1][1]))
                                if findinperiod(sdate, edate, nldate2) != 1:
                                    wrt2 = 1
                                if compcust(edate, nldate2) == 1 and compcust(
                                        fdin[row][18], purp2) == 1:
                                    wrt2 = 1
                                if wrt1 != 1 and wrt2 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, fdloan[sow + 1][6], fdloan[sow +
                                                                          1]
                                        [5], prod2, purp2, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, "", "", "", "", "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow +
                                               1][6], fdloan[sow +
                                                             1][5], prod1,
                                        purp1, "", "", "", "", "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                                plce = sow + 1
                            if ndups == 2:
                                nldate2 = datetime.strptime(
                                    fdloan[sow + 1][5], "%m/%d/%y")
                                prod2 = productname(float(fdloan[sow + 1][0]),
                                                    float(fdloan[sow + 1][1]))
                                purp2 = productpurpose(
                                    float(fdloan[sow + 1][0]),
                                    float(fdloan[sow + 1][1]))
                                nldate3 = datetime.strptime(
                                    fdloan[sow + 2][5], "%m/%d/%y")
                                prod3 = productname(float(fdloan[sow + 2][0]),
                                                    float(fdloan[sow + 2][1]))
                                purp3 = productpurpose(
                                    float(fdloan[sow + 2][0]),
                                    float(fdloan[sow + 2][1]))
                                if findinperiod(sdate, edate, nldate2) != 1:
                                    wrt2 = 1
                                if compcust(edate, nldate2) == 1 and compcust(
                                        fdin[row][18], purp2) == 1:
                                    wrt2 = 1
                                if findinperiod(sdate, edate, nldate3) != 1:
                                    wrt3 = 1
                                if compcust(edate, nldate3) == 1 and compcust(
                                        fdin[row][18], purp3) == 1:
                                    wrt3 = 1
                                if wrt1 != 1 and wrt2 != 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, fdloan[sow + 1][6], fdloan[sow +
                                                                          1]
                                        [5], prod2, purp2, fdloan[sow + 2][6],
                                        fdloan[sow + 2][5], prod3, purp3
                                    ])
                                elif wrt1 != 1 and wrt2 != 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, fdloan[sow + 1][6], fdloan[sow +
                                                                          1]
                                        [5], prod2, purp2, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, fdloan[sow + 2][6], fdloan[sow +
                                                                          2]
                                        [5], prod3, purp3, "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow + 1][6], fdloan[
                                            sow + 1][5], prod2, purp2, fdloan[
                                                sow + 2][6], fdloan[sow + 2]
                                        [5], prod3, purp3, "", "", "", ""
                                    ])
                                elif wrt1 != 1 and wrt2 == 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow][6], fdloan[sow][5], prod1,
                                        purp1, "", "", "", "", "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 != 1 and wrt3 == 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow +
                                               1][6], fdloan[sow +
                                                             1][5], prod2,
                                        purp2, "", "", "", "", "", "", "", ""
                                    ])
                                elif wrt1 == 1 and wrt2 == 1 and wrt3 != 1:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        fdloan[sow +
                                               2][6], fdloan[sow +
                                                             2][5], prod3,
                                        purp3, "", "", "", "", "", "", "", ""
                                    ])
                                else:
                                    csv.writer(fout).writerow(fdin[row] + [
                                        "", "", "", "", "", "", "", "", "", "",
                                        "", "", "", "", "", "", "", "", "", ""
                                    ])
                                plce = sow + 2
                    else:
                        mtch = 0

        if mtch == 1: nclients += 1
        if mtch != 1:
            csv.writer(fout).writerow(
                fdin[row] + ["", "", "", "", "", "", "", "", "", "", "", ""])

        mtch = 0
    print "   Finished finding all other loan records from ", oyear, " to ", nyear, " with ", nclients, " out of ", len(
        fdin) - 1, " clients with PPI records"
    fin.close()
    floan.close()
    fout.close()