#ASPO Gettatelli gli ID luoghi agli eventi import csv import codecs import pandas as pd import re import os import io import tokenize output = open('association_gettatelli_luoghi_updated.csv', 'w') csvwriter = csv.writer(output) params = ['segnatura_completa', 'evento', 'giorno', 'mese', 'anno', 'CODICE REGISTRO', 'codice gettatello numero', 'ID_luogo'] csvwriter.writerow(params) def get_ID_luogo (provincia, comune, micro, edificio, parrocchia, micromicro): link_file = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/luoghi_ASPO_tutti_ID_manually_cleaned - luoghi_ASPO_tutti_ID_clean.csv') reader = csv.DictReader(link_file) for row in reader: ass_provincia = row['EVENTO_PROVINCIA'] ass_comune = row['EVENTO_COMUNE'] ass_micro = row['EVENTO MICROTOPONIMO'] ass_edificio = row['EVENTO edificio'] ass_parrocchia = row['EVENTO PARROCCHIA'] ass_micromicro = row['EVENTO micro microtoponimo'] if micromicro != "" and " ": if micromicro == ass_micromicro and parrocchia == ass_parrocchia and edificio == ass_edificio and micro == ass_micro and comune == ass_comune and provincia == ass_provincia: if row['ID_micromicrotoponimo'] != "" and " ": return (row['ID_micromicrotoponimo']) elif row['ID_parrocchia'] != "" and " ": return (row['ID_parrocchia']) elif row['ID_edificio'] != "" and " ": return (row['ID_edificio']) elif row['ID_RESTORE_microtoponimo'] != "" and " ": return (row['ID_RESTORE_microtoponimo']) elif row['ID_RESTORE_comune'] != "" and " ": return (row['ID_RESTORE_comune']) else: return (row['ID_PROVINCIA']) elif parrocchia != "" and " ": if parrocchia == ass_parrocchia and edificio == ass_edificio and micro == ass_micro and comune == ass_comune and provincia == ass_provincia: if row['ID_parrocchia'] != "" and " ": return (row['ID_parrocchia']) elif row['ID_edificio'] != "" and " ": return (row['ID_edificio']) elif row['ID_RESTORE_microtoponimo'] != "" and " ": return (row['ID_RESTORE_microtoponimo']) elif row['ID_RESTORE_comune'] != "" and " ": return (row['ID_RESTORE_comune']) else: return (row['ID_PROVINCIA']) elif edificio != "" and " ": if edificio == ass_edificio and micro == ass_micro and comune == ass_comune and provincia == ass_provincia: if row['ID_edificio'] != "" and " ": return (row['ID_edificio']) elif row['ID_RESTORE_microtoponimo'] != "" and " ": return (row['ID_RESTORE_microtoponimo']) elif row['ID_RESTORE_comune'] != "" and " ": return (row['ID_RESTORE_comune']) else: return (row['ID_PROVINCIA']) elif micro != "" and " ": if micro == ass_micro and comune == ass_comune and provincia == ass_provincia: if row['ID_RESTORE_microtoponimo'] != "" and " ": return (row['ID_RESTORE_microtoponimo']) elif row['ID_RESTORE_comune'] != "" and " ": return (row['ID_RESTORE_comune']) else: return (row['ID_PROVINCIA']) elif comune != "" and " ": if comune == ass_comune and provincia == ass_provincia: if row['ID_RESTORE_comune'] != "" and " ": return (row['ID_RESTORE_comune']) else: return (row['ID_PROVINCIA']) elif provincia != "" and " ": return (row['ID_PROVINCIA']) else: return "" csv_gettatelli = open('/Users/leonardocanova/Library/CloudStorage/OneDrive-UniversityofPisa(1)/Documenti/Progetti università/OVI/Programmazione/ASPO/Luoghi/gettatelli_newdataset.csv') reader = csv.DictReader(csv_gettatelli) for row in reader: line = [] segnatura_completa = row['segnatura_completa'] evento = row['evento'] giorno = row['giorno'] mese = row['mese'] anno = row['anno'] codice_registro = row['CODICE REGISTRO'] codice_gettatello = row ['codice gettatello numero'] micromicro = row['EVENTO micro microtoponimo'] parrocchia = row['EVENTO PARROCCHIA'] edificio = row['EVENTO edificio'] micro = row['EVENTO MICROTOPONIMO'] comune = row['EVENTO COMUNE'] provincia = row['EVENTO PROVINCIA'] ID_Luogo = get_ID_luogo(provincia, comune, micro, edificio, parrocchia, micromicro) line.append (segnatura_completa) line.append (evento) line.append (giorno) line.append (mese) line.append (anno) line.append (codice_registro) line.append (codice_gettatello) line.append (ID_Luogo) csvwriter.writerow(line) #print (line) output.close()