csv - Parameter study using python -
i have file called pattern.pc content this:
<p1> bla bla <p2> bla bla now replace <p1> , <p2> values in separate file (let parameter_values.pc) e.g values p1 in first line , p2 in second line:
1.0, 2.0, 3.0, 4.0 10.0, 11.0, 12.0, 13.0 and new files (here p1 = 1.0 , p2 = 10.0):
1.0 bla bla 10.0 bla bla which named e.g pattern_p1_1_p2_10.pc , on. in python. forgot mention possible combinations between parameters values acceptable - in particular case have @ end 16 new files. thank
# assumes python 2.7 parameters_file = "parameter_values.pc" pattern_file = "pattern.pc" output_name = "pattern_p1_{p1}_p2_{p2}.pc" def strs(line, split_on=none): return [s.strip() s in line.split(split_on)] def main(): open(pattern_file) inf: template = inf.read() open(parameters_file) inf: p1_lst = strs(next(inf, ""), ",") p2_lst = strs(next(inf, ""), ",") p1, p2 in zip(p1_lst, p2_lst): fname = output_name.format(p1=p1, p2=p2) data = template.replace("<p1>", p1).replace("<p2>", p2) open(fname, "w") outf: outf.write(data) if __name__=="__main__": main() edit: ok, if want combinations,
from itertools import product and replace for p1, p2 in zip(p1_lst, p2_lst): for p1, p2 in product(p1_lst, p2_lst):.
Comments
Post a Comment