#kokku=165687818 alguskoht=0 ots=3 def puhas(rida): return "$" not in rida[alguskoht:ots] and "^" not in rida[alguskoht:ots] plokkkokku=0 algus="" puhver=[] kogupuhver=[] f2=open("plokid1_taga2.txt", "w") read=open("4gram_eest.txt").readlines() read=[rida.strip() for rida in read] kokku=0 for rida in read: if puhas(rida): kokku+=int(rida.split(",")[1]) read.sort(key=lambda rida: rida[alguskoht:ots]) for rida in read: if puhas(rida): if (algus!=rida[alguskoht:ots]): #if "D" in algus: if algus: puhver.sort(key=lambda k: k[0]) kogupuhver.append([algus, plokkkokku, 100*plokkkokku/kokku, puhver[:]]) algus=rida[alguskoht:ots] plokkkokku=0 puhver=[] m=rida.strip().split(",") puhver.append([rida[3], int(m[1])]) plokkkokku+=int(m[1]) #puhver.sort(key=lambda k: -k[1]) puhver.sort(key=lambda k: k[0]) kogupuhver.append([algus, plokkkokku, 100*plokkkokku/kokku, puhver[:]]) kogupuhver.sort(key=lambda k: k[0]) for kirje in kogupuhver: print(kirje[0], kirje[1], str(round(kirje[2], 4))+"%", sep=",", file=f2) for rida in kirje[3]: print(" "+rida[0],rida[1], str(round(100*rida[1]/kirje[1], 2))+"%", sep=",", file=f2) f2.close()