Commit a556561b2f29098bf54d022e59ad47f04199a7a8

Authored by Mathias
1 parent 9c2436a4f7
Exists in master

Basic data management functionalities added, with an init file empty.

Showing 1 changed file with 44 additions and 0 deletions Inline Diff

File was created 1 '''
2 Data management input/output
3 '''
4
5 # Import packages and modules
6 import numpy as np
7
8 # Defining some types
9 from typing import List, Dict
10 KeyToList = Dict[str, List[str]]
11 KeyToFeatures = Dict[str, List[float]]
12
13
14 def read_lst(file_path: str) -> KeyToList:
15 '''
16 Read lst file with this structure:
17 [id] [value1] [value2] ... [value n]
18
19 This is a basic function reused by others like read_features.
20 returns a dictionary with id as key and a list of value as corresponding values
21 '''
22 # KeyToList type variable
23 key_to_list = dict()
24 with open(file_path, "r") as f:
25 for line in f:
26 splited = line.replace("\n", "").split(" ")
27 id = splited[0]
28 values = splited[1:]
29 key_to_list[id] = values
30 return key_to_list
31
32
33 def read_features(file_path: str) -> KeyToFeatures:
34 '''
35 '''
36 # KeyToFeatures type variable
37 key_to_features = dict()
38 # and the KeyToList
39 key_to_list = read_lst(file_path)
40
41 for key_, list_ in key_to_list.items():
42 key_to_features[key_] = np.asarray(list_, dtype=float)
43
44 return key_to_features