Skip to content

Instantly share code, notes, and snippets.

@humanfactors
Created December 9, 2016 17:40
Show Gist options
  • Save humanfactors/4a1938e2e226852b3e6ea701e7790d23 to your computer and use it in GitHub Desktop.
Save humanfactors/4a1938e2e226852b3e6ea701e7790d23 to your computer and use it in GitHub Desktop.
from collections import OrderedDict
import csv
mainlist = []
fn = open('Finland_Day1_Conflict-Names.csv', 'r')
day1 = csv.reader(fn)
for row in day1:
mainlist.append([row[1],row[2]])
fn.close()
replacements = []
references = []
fn = open('Finland_Day2_Conflict-Names.csv', 'r')
day2 = csv.reader(fn)
for row in day2:
replacements.append(row[0])
references.append(row[1])
fn.close()
replacements_split = [replacements[x:x+2] for x in range(0, len(replacements), 2)]
references_split = [references[x:x+2] for x in range(0, len(references), 2)]
merged = [x + y for x,y in zip(replacements_split,references_split)]
maindct = []
replacedct = []
output_list = []
maindct = OrderedDict((frozenset(item[:2]),item[2:]) for item in mainlist)
replacedct = {frozenset(item[:2]):item[2:] for item in merged}
# Now it is trivial to create another dict with the desired output:
output_list = [replacedct[key] + maindct[key] for key in maindct]
print(output_list)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment