Skip to content

Instantly share code, notes, and snippets.

@alexstorer
Created February 1, 2014 00:26
Show Gist options
  • Save alexstorer/8746104 to your computer and use it in GitHub Desktop.
Save alexstorer/8746104 to your computer and use it in GitHub Desktop.
County - Respondent Data Processing
import csv
f = open('Fin02.csv','r')
dr = csv.DictReader(f, delimiter='|')
respondents = {}
fips = {}
rf = {}
for d in dr:
# if d['Respondent_ID'] in respondents:
# respondents[d['Respondent_ID']].append(d)
# else:
# respondents[d['Respondent_ID']] = [d]
if d['FIPS'] in fips:
fips[d['FIPS']].append(d)
else:
fips[d['FIPS']] = [d]
if (d['Respondent_ID'],d['FIPS']) in rf:
rf[(d['Respondent_ID'],d['FIPS'])].append(d)
else:
rf[(d['Respondent_ID'],d['FIPS'])] = [d]
f.close()
dout = dict()
for fi in fips.values():
fipsval = fi[0]["FIPS"]
allrespid = [d["Respondent_ID"] for d in fi]
for er in allrespid:
for wr in allrespid:
if (er,wr) in dout:
dout[(er,wr)] += float(rf[(er,fipsval)][0]['E_i_Apps']) * float(rf[(wr,fipsval)][0]['W_County_Apps'])
else:
dout[(er,wr)] = float(rf[(er,fipsval)][0]['E_i_Apps']) * float(rf[(wr,fipsval)][0]['W_County_Apps'])
f = open('testout.csv','w')
for entry in dout:
f.write(entry[0] + ',' + entry[1] + ',' + str(dout[entry]) + '\n')
f.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment