-1
votes

Transformez le fichier texte avec des objets Pièce JSON dans le fichier JSON

J'essaie de transformer un fichier texte qui ressemble à ce qui suit: xxx pré>

avec beaucoup plus de rangées des journaux. J'ai besoin de le convertir afin que tout soit dans un seul objet JSON, comme ce qui suit: P>

{"date_time": "2019-10-14 13:00:19", "url": "www.google.com","type":"click", "user":"root", "ip":"0.0.0.0"}


2 commentaires

Bienvenue à Stackoverflow! Pourquoi n'ajoutes-vous pas d'en-têtes à votre fichier avec des noms de vos champs, chargez-le sur Pandas Dataframe et le convertissez-le en Json comme celui décrit ici - Stackoverflow.com/Questtions/50384883/...


Que dois-je faire quand quelqu'un répond à ma question? Les gens ont tendance à mettre beaucoup de temps à répondre à des questions soigneusement. Si une solution répond à votre question, veuillez Vérifiez-le ou laissez un commentaire si cela ne résout pas le problème. Le chèque est sous la flèche haut / bas en haut à gauche de la réponse.


3 Réponses :


0
votes

Utilisez Pandas :
  • Compte tenu de vos données, comme décrit, dans un fichier .txt .
  • .TO_JON a divers paramètres pour personnaliser le look final du fichier JSON.
  • avoir les données dans un fichier de données a l'avantage de permettre une analyse supplémentaire
  • Les données ont un certain nombre de problèmes qui peuvent facilement être réparés
    • Aucun nom de colonne
    • Format de données incorrect
    • Espace WhitSpace autour de l'URL xxx

      fichier JSON xxx


0 commentaires

1
votes

Vous pouvez utiliser DateTime code> et json code> module. Ouvrez le fichier et itérater des lignes sur les lignes, vous devrez peut-être adapter certaines parties du code.

STRATTIME code> comportement p>

Exemple de travail: P>

with open("your/file/path.txt") as fh:
    for line in fh:
        # Copy the code from the above example.
        ...


3 commentaires

Merci! Vous avez ceci pour travailler tout en utilisant de mettre le texte comme une chaîne. N'ont pas été en mesure de déterminer comment analyser le fichier à travers elle


@DevnotDev J'ai mis à jour ma réponse pour couvrir également la lecture d'un fichier


Merci beaucoup



0
votes
import json
from ast import literal_eval

def transform_to_json(row):

    d = literal_eval(row[2].strip())
    d["date_time"] = row[0]
    d["url"] = row[1]

    return d


with open('example.txt', 'r') as file:
    json_objs = [transform_to_json(row.split('|')) for row in file.readlines()]

single_json_result = json.dumps(json_objs)

0 commentaires