import json v={} muutus={ "gpe": "gpe", "koht": "loc", "organisatsioon": "org", "isik": "per", "toode": "prd", } for rida in open("olemid_eol_3_seni.txt", encoding="utf-8").readlines()[1:]: m=rida.split() v[m[0]]=m[0] for tyyp in ["gpe", "loc", "org", "per", "prd"]: for rida in open(tyyp+"_kustutada_ja_kat_asendused.csv", encoding="utf-8").readlines()[1:]: m=rida.strip().split(",") if len(m)!=4: raise Exception("pikkus "+len(m)) voti=tyyp+"_"+m[0].replace(" ", "_") if m[2]=="" and m[3]=="": v[voti]="" if m[2]=="" and m[3]!="": v[voti]=(m[3]+"_"+m[0]).lower().replace(" ", "_") if m[2]!="" and m[3]!="": v[voti]=(m[3]+"_"+m[2]).lower().replace(" ", "_") if m[2]!="" and m[3]=="": v[voti]=(tyyp+"_"+m[2]).lower().replace(" ", "_") #v[m[0]] for rida in open(tyyp+"_lemma_asendused.csv", encoding="utf-8").readlines()[1:]: m=rida.strip().split(",") if len(m)!=4: raise Exception("pikkus "+len(m)) voti=tyyp+"_"+m[0].replace(" ", "_") vastus="" if m[2]=="" and m[3]=="": vastus="" if m[2]=="" and m[3]!="": vastus=(m[3]+"_"+m[0]).lower().replace(" ", "_") if m[2]!="" and m[3]!="": vastus=(m[3]+"_"+m[2]).lower().replace(" ", "_") if m[2]!="" and m[3]=="": vastus=(tyyp+"_"+m[2]).lower().replace(" ", "_") if voti in v: if vastus!=v[voti]: raise Exception("erinevus "+voti) else: v[voti]=vastus for rida in open(tyyp+"_kontrollitud_sobivad.txt", encoding="utf-8").readlines(): m=rida.strip().split(",") if len(m)!=1: raise Exception("pikkus "+str(m)+tyyp+str(len(m))) voti=tyyp+"_"+m[0].replace(" ", "_") vastus=voti if voti in v: if vastus!=v[voti]: raise Exception("erinevus "+voti+str(m)+tyyp+v[voti]) else: v[voti]=voti for rida in open(tyyp+"_kontrollitud_valekat.txt", encoding="utf-8").readlines(): if "+" not in rida: continue rida=rida.replace("+", "") m=rida.strip().split(",") if len(m) not in [2, 3]: raise Exception("pikkus "+str(m)+tyyp+str(len(m))) voti=tyyp+"_"+m[0].replace(" ", "_") if len(m)==2 or len(m[2].strip())==0: vastus=muutus[m[1]]+"_"+m[0].replace(" ", "_") else: vastus=muutus[m[1]]+"_"+m[2].replace(" ", "_") if voti in v: if vastus!=v[voti]: raise Exception("erinevus "+voti+str(m)+tyyp+";"+v[voti]+";"+vastus) else: v[voti]=vastus with open("asendused2.json", "w", encoding="utf-8") as f2: json.dump(v, f2, ensure_ascii=False, indent=2)