diff --git a/python_tableur/excel2py.py b/python_tableur/excel2py.py new file mode 100644 index 0000000..0a2df5c --- /dev/null +++ b/python_tableur/excel2py.py @@ -0,0 +1,49 @@ +import subprocess +import itertools +import io +import csv + +database = {} + + +def extract_to_csv(base): + subprocess.run(["libreoffice", "--convert-to", "csv", f"{base}.ods"]) + + +extract_to_csv("montableur") +print("Toto") + + +def debut_plage(line): + return not line.strip().startswith("DEBUT_PLAGE") + + +def get_lines(base): + with open(f"{base}.csv") as f: + csv_content = [l for l in f.readlines()] + return csv_content + + +def filter_interesting(lines_in): + data = itertools.dropwhile(debut_plage, lines_in) + lines = itertools.islice(data, 1, None) + return lines + + +contenu = get_lines("montableur") +meslignes = list(filter_interesting(contenu)) + + +def convertir_en_dictionnaires(lines): + with io.StringIO() as fake_stream: + fake_stream.writelines(lines) + fake_stream.seek(0) + reader = csv.DictReader(fake_stream) + rows = list(reader) + return rows + + +mes_donnees = convertir_en_dictionnaires(meslignes) + +for echantillon in mes_donnees: + database[echantillon["Nom"]] = echantillon