J'ai un gros fichier texte qui contient plusieurs objets JSON séquentiels. Pour autant que je sache, la meilleure façon d'interpréter/charger individuellement les objets JSON serait de les prendre du fichier texte et de les mettre sur des lignes séparées afin que je puisse les parcourir ligne par ligne.

Malheureusement, je n'ai pas réussi à obtenir que python les sépare sur des lignes individuelles sans que la structure JSON ne soit ruinée au point d'être illisible. De plus, ces fichiers sont assez volumineux et contiennent beaucoup d'informations. Veuillez m'indiquer la meilleure façon a) d'obtenir les différentes chaînes d'objets JSON sur différentes lignes dans python, ou b) une meilleure façon d'analyser individuellement les informations.

Voici à quoi ressemble le texte dans les fichiers :

"{\"time\":\"Fri Aug 09 18:55:37 +0000 2019\", \"id\":720,\"text\":\"I'd really like to find a good solution to this problem.\",\"source\":\"href=\\\"http:\\/\\/stackoverflow.com\\\",\"lang\":\"en\",\"timestamp_ms\":\"1565376937344\"}\r\n""{\"time\":\"Sat Aug 10 22:16:00 +0000 2019\", \"id\":721,\"text\":\"And I would appreciate your help!\",\"source\":\"href=\\\"http:\\/\\/stackoverflow.com\\\",\"lang\":\"en\",\"timestamp_ms\":\"156534564531\"}\r\n""{\"time\":\"Sun Aug 09 18:55:37 +0000 2019\", \"id\":720,\"text\":\"Imagine additional text repeating below.\",\"source\":\"href=\\\"http:\\/\\/stackoverflow.com\\\",\"lang\":\"en\",\"timestamp_ms\":\"1565376937344\"}\r\n"

Si vous attribuez le texte ci-dessus à un objet python et demandez à python de l'imprimer, python renvoie ce que je veux voir, c'est-à-dire :

{"time":"Fri Aug 09 18:55:37 +0000 2019", "id":720,"text":"I'd really like to find a good solution to this problem.","source":"href=\"http:\/\/stackoverflow.com\","lang":"en","timestamp_ms":"1565376937344"}

{"time":"Sat Aug 10 22:16:00 +0000 2019", "id":721,"text":"And I would appreciate your help!","source":"href=\"http:\/\/stackoverflow.com\","lang":"en","timestamp_ms":"156534564531"}

{"time":"Sun Aug 09 18:55:37 +0000 2019", "id":720,"text":"Imagine additional text repeating below.","source":"href=\"http:\/\/stackoverflow.com\","lang":"en","timestamp_ms":"1565376937344"}

Mais si je lis le fichier dans un objet python et que j'imprime cet objet, j'obtiens le texte d'origine. J'ai essayé f.read(), readline(), readlines(), splitlines() (ce qui m'a donné un fouillis de \\s supplémentaires), et j'ai essayé de diviser la chaîne en utilisant splitstring(). Je suis très perdu et j'admets que je suis assez nouveau dans le codage et que je ne me suis jamais vraiment assis pour apprendre les bases.

Toute aide que vous pouvez m'apporter pour prendre le texte ci-dessus et finalement pouvoir le traduire en objet JSON individuel et lire, disons, les textes de chacun serait formidable. Mon objectif ultime est de pouvoir appeler les clés du dictionnaire à partir des objets json individuels, comme ceci :

for line in f:
    data = json.loads(line)
    print(data[‘text’])

Et obtenez la liste suivante

"I'd really like to find a good solution to this problem."
"And I would appreciate your help!"
"Imagine additional text repeating below."
-1
Rachel S 24 janv. 2020 à 22:35

1 réponse

Meilleure réponse