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
1 changed files with 13 additions and 14 deletions

View File

@ -5,28 +5,27 @@ import pathlib
import datetime
"""
ajoute une valeur de date lisible par un humain à chaque entrée d'un document JSON
TODO: rassembler les dates dans un groupe d'entrées
ajoute une valeur de date lisible par un humain pour chaque entrée dans le JSON
"""
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):
"""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
with open(path_in,'r') as f:
_json = json.load(f)
for group in _json:
for entry in group["data"]:
entry.update({"date":from_stamp(entry["x"])})
ids = tuple(i.get("x") for i in _json[0]["data"])
dates = [{"x": i,"y": stamp2date(i)} for i in ids]
dates_dict = {"name":"date_time", "data":[i for i in dates]}
_json.insert(0,dates_dict)
return _json
if __name__ == "__main__":