rassemble les dates dans un groupe d'entrées

- respecte le modèle de données
- permet ainsi l'applatissement ultérieur avec libellé
- close #3
This commit is contained in:
frabad 2022-05-18 21:08:12 +02:00
parent c9bc307711
commit 5b233db286

View File

@ -5,28 +5,27 @@ import pathlib
import datetime import datetime
""" """
ajoute une valeur de date lisible par un humain à chaque entrée d'un document JSON ajoute une valeur de date lisible par un humain pour chaque entrée dans le JSON
TODO: rassembler les dates dans un groupe d'entrées
""" """
def from_stamp(i: int) -> str:
"""normalise une date UNIX"""
dt = str(i)
if len(dt)>10:
dt = dt[:10]
sdt = str(datetime.datetime.fromtimestamp(int(dt)))
return sdt
def proc(path_in): def proc(path_in):
"""traite un document JSON""" """traite un document JSON"""
def stamp2date(i: int) -> str:
"""normalise une date UNIX"""
dt = str(i)
if len(dt)>10: dt = dt[:10]
sdt = datetime.datetime.fromtimestamp(int(dt))
return str(sdt).replace(" ","_")
_json = None _json = None
with open(path_in,'r') as f: with open(path_in,'r') as f:
_json = json.load(f) _json = json.load(f)
for group in _json: ids = tuple(i.get("x") for i in _json[0]["data"])
for entry in group["data"]: dates = [{"x": i,"y": stamp2date(i)} for i in ids]
entry.update({"date":from_stamp(entry["x"])}) dates_dict = {"name":"date_time", "data":[i for i in dates]}
_json.insert(0,dates_dict)
return _json return _json
if __name__ == "__main__": if __name__ == "__main__":