pocs/python_tableur/excel2py.py

50 lines
1.0 KiB
Python

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