6
votes

Python - Comptez les éléments JSON avant d'extraire des données

J'utilise une API qui me donne un fichier JSON structuré comme ceci: xxx

et j'utilise ce code dans Python pour extraire les données dont j'ai besoin: xxx

Le problème est que pour l'utiliser, je dois connaître le numéro de l'élément à partir duquel j'explète les données. Mon résultats peut avoir une longueur différente à chaque fois, alors ce que je veux faire est de compter le nombre d'éléments dans résultats au début, donc je pourrais donc mettre en place un boucle pour extraire des données de chaque élément.


1 commentaires

LEN (Z ["Résultats"]) est sûrement tout ce dont vous avez besoin? Ça va vous donner la longueur. Mais avec pour des boucles de la longueur n'est pas nécessaire, alors utilisez-le simplement.


5 Réponses :


3
votes

Vous n'avez pas besoin de connaître la longueur du résultat, vous allez bien avec A pour boucle:

for result in z['results']:
    # process the results here


1 commentaires

Eh bien, en python qui serait z ["résultats"]



2
votes

Si vous voulez avoir la longueur, vous pouvez essayer: xxx

mais en python, ce que nous faisons habituellement est: xxx > J'espère que cela aide.


1 commentaires

AGH! J'avais environ 3 secondes de retard!



16
votes

Pour vérifier la longueur de la clé de résultats: xxx pré>

mais si vous ne faites que boucler autour d'eux, une boucle est parfaite: p>

for result in x["results"]:
    print(result["source_link"])


0 commentaires

1
votes

Vous n'avez pas besoin, ni probablement vouloir, de les compter pour boucler sur eux, vous pouvez faire:

u = urllib2.urlopen('myapiurl')
z = json.load(u)
u.close
link = [result['source_link'] for result in z['results']]
title = [result['source_link/_title'] for result in z['results']]
# do something with links/titles lists


0 commentaires

1
votes

peu de pointeurs:

  1. Pas besoin de savoir résultats de la longueur de l'itération. Vous pouvez utiliser pour résultat en z ["résultats"] .
  2. Liste s Démarrer depuis 0 .
  3. Si vous avez besoin de l'index, jetez un coup d'oeil à énumérer .

0 commentaires