import glob all_files = glob.glob("data/*.nc") # file = all_files[0] def get_value(c, s): [x] = [item.replace(s, '') for item in c if item.startswith(s)] or [0] return float(x) for file in all_files: with open(file, 'r') as fp: lines = fp.readlines() print(file) prev_x = None prev_y = None prev_z = None result = [] step = None for l in lines[31:-10:5]: data = l.strip().split(' ') prep = {} for item in data: prep[item[:1]] = item[1:] if 'G' in prep and prep['G'] == '01': step = prep['G'] if step == '01': if 'A' in prep: prep['U'] = float(prep.pop('A')) / 100 if 'B' in prep: prep['V'] = float(prep.pop('B')) / 100 if 'C' in prep: prep['W'] = float(prep.pop('C')) / 100 filtered_prep = {p:prep[p] for p in prep if p in ['X', 'Y', 'Z', 'U', 'V', 'W']} if(len(filtered_prep.keys())): result.append([f"{p}{filtered_prep[p]}" for p in filtered_prep]) with open(f"{file}.result", 'w') as fp: fp.write('\n'.join(' '.join(str(i) for i in x) for x in result))