import csv import codecs import pandas as pd import re import os import io import tokenize output = open('merge_province_comuni_ASPO.csv', 'w') csvwriter = csv.writer(output) params = ['ID_PROVINCIA', 'toponimo_PROVINCIA', 'toponimo_PROVINCIA_upper', 'ID_RESTORE', 'toponimo_COMUNE', 'toponimo_COMUNE_upper'] csvwriter.writerow(params) def associate_ID_provincia (provincia): link_file = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/luoghi - Province.csv') reader = csv.DictReader(link_file) for row in reader: ass_provincia = row['toponimo PROVINCIA'] if (ass_provincia == provincia): return (row['ID PROVINCIA']) def associate_upper_provincia (provincia): link_file = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/luoghi - Province.csv') reader = csv.DictReader(link_file) for row in reader: ass_provincia = row['toponimo PROVINCIA'] if (provincia == ass_provincia): return (row['toponimo PROVINCIA UPPER']) def associate_ID_RESTORE (comune): link_file = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/Toponimi Gettatelli - TUTTI toponimi - Nuovo.csv') reader = csv.DictReader(link_file) for row in reader: ass_comune = row['TOPONIMO'] if (ass_comune.lower() == comune.lower()): return (row['ID RESTORE']) csv_comuni = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/luoghi - Comuni.csv') reader = csv.DictReader(csv_comuni) for row in reader: line = [] toponimo_PROVINCIA = row['EVENTO PROVINCIA'] ID_PROVINCIA = associate_ID_provincia(toponimo_PROVINCIA) toponimo_PROVINCIA_upper = associate_upper_provincia(toponimo_PROVINCIA) toponimo_COMUNE = row['EVENTO COMUNE'] toponimo_COMUNE_upper = row['EVENTO COMUNE UPPER'] ID_RESTORE = associate_ID_RESTORE(toponimo_COMUNE) line.append (ID_PROVINCIA) line.append (toponimo_PROVINCIA) line.append (toponimo_PROVINCIA_upper) line.append (ID_RESTORE) line.append (toponimo_COMUNE) line.append (toponimo_COMUNE_upper) csvwriter.writerow(line) #print (line) output.close()