from CoolProp.CoolProp import get_fluid_param_string lines = open('KunzWagner2012_TableA7.txt','r').read() template = """{{"Name1" : "{Name1:s}", "Name2" : "{Name2:s}", "CAS1" : "{CAS1:s}", "CAS2" : "{CAS2:s}", "d" : {d:s}, "t" : {t:s}, "n" : {n:s}, "eta" : {eta:s}, "epsilon" : {epsilon:s}, "beta": {beta:s}, "gamma": {gamma:s} }},""" chunks = lines.split('\n\n') for chunk in chunks: lines = chunk.split('\n') D,T,N,ETA,EPSILON,BETA,GAMMA = [0],[0],[0],[0],[0],[0],[0] names = lines.pop(0) for line in lines: vals = line.strip().split(' ') if len(vals) == 4: i, d, t, n = vals eta = 0 epsilon = 0 beta = 0 gamma = 0 else: i, d, t, n, eta, epsilon, beta, gamma = vals D.append(int(d)) T.append(float(t)) N.append(float(n)) ETA.append(float(eta)) EPSILON.append(float(epsilon)) BETA.append(float(beta)) GAMMA.append(float(gamma)) name1,name2 = names.split('/') CAS1 = get_fluid_param_string(name1,'CAS') CAS2 = get_fluid_param_string(name2,'CAS') print template.format(Name1 = name1, Name2 = name2, CAS1 = CAS1, CAS2 = CAS2, d = str(D), t = str(T), n = str(N), eta = str(ETA), epsilon= str(EPSILON), beta = str(BETA), gamma = str(GAMMA) )