importcsvimportxml.etree.ElementTreeasETdataFile=open('pharmData.csv',encoding="UTF-8")dataReader=csv.DictReader(dataFile)tree=ET.parse('pharmacies.xml')root=tree.getroot()#create list to store datdataSet=[]#extract data from csvforrowindataReader:comuna={}comuna.update({'comId':row['COMUNA']})comuna.update({'name':row['NOM_COMUNA']})comuna.update({'income':row['avg_income_tot']})comuna.update({'pharmCount':row['Join_Count']})comuna.update({'popRatio':row['POB_per_STORE']})dataSet.append(comuna)#push data into xmlforpolygoninroot:polygon.set('class','comuna')code=polygon.get('id')foritemindataSet:ifcode==item['comId']:polygon.set('label',item['name'])polygon.set('income',item['income'])polygon.set('pharmacies',item['pharmCount'])polygon.set('popRatio',item['popRatio'])#add script tagforpolygoninroot:label=polygon.get('label')popRatio=polygon.get('popRatio')# amend data for comunas where no pharmacy was foundifpopRatio=='0':popRatio='no data'income=polygon.get('income')polygon.set('onmouseover','displayName(\''+label+'\',\''+popRatio+'\',\''+income+'\')')#write xmltree.write('output.xml')