input_output.get_ecl_key_val
1import numpy as np 2import sys 3 4 5def read_file(val_type, filename): 6 7 file = open(filename, 'r') 8 lines = file.readlines() 9 key = '' 10 line_idx = 0 11 while key != val_type: 12 line = lines[line_idx] 13 if not line: 14 print('Error: Keyword not found') 15 sys.exit(1) 16 17 line_idx += 1 18 if len(line): 19 key = line.split() 20 if key: 21 key = key[0] 22 data = [] 23 finished = False 24 while line_idx < len(lines) and not finished: 25 line = lines[line_idx] 26 line_idx += 1 27 if line == '\n' or line[:2] == '--': 28 continue 29 if line == '': 30 break 31 if line.strip() == '/': 32 finished = True 33 sub_str = line.split() 34 for s in sub_str: 35 if '*' in s: 36 num_val = s.split('*') 37 v = float(num_val[1]) * np.ones(int(num_val[0])) 38 data.append(v) 39 elif '/' in s: 40 finished = True 41 break 42 else: 43 data.append(float(s)) 44 45 values = np.hstack(data) 46 return values 47 48def write_file(filename, val_type, data): 49 50 file = open(filename, 'w') 51 file.writelines(val_type + '\n') 52 if data.dtype == 'int64': 53 np.savetxt(file, data, fmt='%i') 54 else: 55 np.savetxt(file, data) 56 file.writelines('/' + '\n') 57 file.close()
def
read_file(val_type, filename):
6def read_file(val_type, filename): 7 8 file = open(filename, 'r') 9 lines = file.readlines() 10 key = '' 11 line_idx = 0 12 while key != val_type: 13 line = lines[line_idx] 14 if not line: 15 print('Error: Keyword not found') 16 sys.exit(1) 17 18 line_idx += 1 19 if len(line): 20 key = line.split() 21 if key: 22 key = key[0] 23 data = [] 24 finished = False 25 while line_idx < len(lines) and not finished: 26 line = lines[line_idx] 27 line_idx += 1 28 if line == '\n' or line[:2] == '--': 29 continue 30 if line == '': 31 break 32 if line.strip() == '/': 33 finished = True 34 sub_str = line.split() 35 for s in sub_str: 36 if '*' in s: 37 num_val = s.split('*') 38 v = float(num_val[1]) * np.ones(int(num_val[0])) 39 data.append(v) 40 elif '/' in s: 41 finished = True 42 break 43 else: 44 data.append(float(s)) 45 46 values = np.hstack(data) 47 return values
def
write_file(filename, val_type, data):