def get_nuclei_yield(filename): lines = open(filename).readlines() flag=False nuclei_yield={} for i, line in enumerate(lines): if line=="[Calculations]\n": flag=True continue if flag: str1=line.split()[0] str2=line.split("=")[1].split(",")[3] nuclei_yield[str1]=float(str2) print("total rate [cps]",sum(nuclei_yield.values())) ## 収量の多い順にソート return dict(sorted(nuclei_yield.items(), key=lambda x: -x[1])) import glob filename = glob.glob("*.lpp")[0] nuclei_yield = get_nuclei_yield(filename)
Jupyter を使う場合は 表示も簡単
import pandas as pd df = pd.DataFrame({"Nuclei":list(nuclei_yield.keys())[:20],"Yield [cps]":list(nuclei_yield.values())[:20]}) df