yearly_consumption = dict({}) """ { "2025": [ [3.4, 4.6, 3.7, 2.5], [...] ], "2026": [], } """ year = None def start_new_year(line: str) -> (bool,int|None): try: year_part = line.strip()[1:].strip() int(year_part) return (True, year_part) except : return (False, None) def convert_line_to_consumpt(line:str) -> [float]: line = line.replace(',', '.') line = line.split(';') values = [] for txt in line: txt = txt.strip() values.append(float(txt)) return values with open('./verbrauch-2025.csv') as f: for line in f.readlines(): (is_new_year, year_nr) = start_new_year(line) print(is_new_year, year_nr) if is_new_year: year = [] # new list yearly_consumption[year_nr] = year continue year.append( convert_line_to_consumpt(line) ) # debug print(yearly_consumption)