0
votes

Comment comparer 2 listes JSON avec une longueur différente?

Je reçois deux réponses JSON avec une longueur différente: "Data" et "data_out".

Une partie courte des "données": xxx

alors Le bloc peut répéter dans les périodes de "données". La même chose dans "data_out", mais il y a une autre date / heure.

Je dois faire un fichier où sont deux listes JSON seront trier par date et heure. Je le fais avec "tandis que". xxx

mais j'ai un problème que "les données" se termine plus tôt que "data_out". Parfois, c'est tellement, mais parfois "data_out" est plus long que "les données" et j'ai une erreur: xxx


0 commentaires

3 Réponses :


0
votes

Je ne pense pas que vous ayez besoin de deux fois tandis que des boucles si vous allez utiliser deux variables d'index distinctes.

while index_3 < len(data['value']) and index_out_3 < len(data_out['value']):
    time_in = (data['value'][index_3]['C'])
    time_out = (data_out['value'][index_out_3]['C'])
    if time_in < time_out:
        <put all info from 'data' to xls-file>
        index_3 += 1
    else:
        <put all info from 'data_out' to xls-file>
        index_out_3 += 1


2 commentaires

Merci! Honte sur moi.


Tout le monde doit commencer quelque part. Acclamations!



0
votes

si data et data_out ont une structure similaire (comme dans votre exemple), Vous pouvez chaîner les deux listes ensemble, puis simplement trier par temps. XXX


1 commentaires

Les clés dans [valeurs] ont un peu de noms différents. "Start_time" et "starttime", par exemple.



0
votes

https://github.com/xlwings/jsondiff est trop cool et je compte sur elle fortement. Merci au créateur de ce paquet

Ceci est un extrait pur de la page d'accueil de code README

de JSONFIFF importation DIFF

diff ({'A': 1, 'B': 2}, {'B': 3, 'C': 4})

{'C': 4, 'B': 3, Supprimer: ['A']}

diff ("A ',' B ',' C '], [' A ',' B ',' C ',' D '])

{insert: [(3, 'd')]}


0 commentaires