Ich habe folgendes Szenario:
Inputdatei hat den Inhalt:
essen Fisch 30 Kabeljau
speisen Fisch 4 Kabeljau
verspeisen Fisch 9 Krabbe
essen Fisch 44 Krabbe
Daraus will ich machen:
essen Fisch 74 Kabeljau,Krabbe
speisen Fisch 4 Kabeljau
verspeisen Fisch 9 Krabbe
Sprich: Wenn Verb+Nomen gleich ist, Zahlen aufaddieren und die Nomen dahinter in dieselbe Zeile schreiben.
Bisher habe ich das mit einem Dictonaryumweg gelöst, funktioniert auch, aber ich kriege den hinteren Teil (das nach den Zahlen) nicht mit, da ich dann als value keinen INT mehr habe um das ganze zu addieren.
Bisheriger Code:
Code: Alles auswählen
splitter_file2 = {}
for line in dupl_file2:
verb,nomen,freq = line.split()
merge = verb+"#"+nomen
if merge in splitter_file2:
comb_freq = int(splitter_file2[merge]) + int(freq)
splitter_file2[merge] = comb_freq
else:
splitter_file2[merge] = freq
for key in splitter_file2:
rem_file2.write(key + " " + str(splitter_file2[key]) + "\n")
Später das ganze dann einfach wieder aufgesplittet mit .replace("#", " ")