KVL_visualize / read_kvl_file.py
chanschan's picture
Ver 1.0, Plot by Projecting SEDs on 3D TOP surface
5877840
def read_kvl_file(file):
data = {}
current_key = None
for line in file:
line = line.decode().strip() # Convert bytes to string and strip whitespace
if not line: # Skip empty lines
continue
if '=' in line:
key, value = line.split('=')
key = key.strip()
value = value.strip()
if value: # Non-empty value, treat as vector data
if key not in data:
data[key] = []
try:
data[key].append(float(value))
except ValueError:
data[key].append(value)
else: # Empty value, treat as matrix data
current_key = key
if current_key not in data:
data[current_key] = [] # Initialize list to store matrices
elif current_key:
row_values = line.split()
if row_values:
data[current_key].append([float(value) for value in row_values])
return data
# def write_data_to_file(file_path, data):
# with open(file_path, 'w') as file:
# for key, values in data.items():
# file.write(key + ':\n')
# if isinstance(values[0], list): # Matrix data
# for row in values:
# file.write(' '.join(row) + '\n')
# else: # Vector data
# for value in values:
# file.write(value + '\n')
# # Example usage
# input_file_path = 'd:\Git\KVL_visualize\Turbidites_out.kvl'
# output_file_path = 'd:\Git\KVL_visualize\Test.txt'
# kvl_data = read_kvl_file(input_file_path)
# write_data_to_file(output_file_path, kvl_data)