Convertir JSON en CSV avec Python de Splunk

Afficher le statut de l'infection COVID19 au Japon avec Splunk (2e édition révisée) utilise python pour télécharger les données de HP et les traiter en CSV.

Splunk n'a pas de pandas, et il semble que le seuil soit élevé pour les utilisateurs de Windows, alors j'ai fait de mon mieux avec python dans Splunk.

code

dl_json_to_csv2.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import json
import csv

headers={'accept': 'application/json', 'content-type': 'application/json'}
url = 'https://www3.nhk.or.jp/news/special/coronavirus/data/47patients-data.json'

response=requests.get(url,headers=headers)
json_obj = response.json()

##Stockage des données de date
header=["pref"]+[i for i in list(json_obj['category'])]

##Stockage des données de numéro de personne infectée
lst = [[] for _ in range(len(json_obj['data47']))] ##Initialisation
for j,json in enumerate(json_obj['data47']):
    lst[j].append(json['name'])
    for json2 in json['data']:
        lst[j].append(json2)

##Écriture CSV
with open('japan_covid19.csv', 'w', encoding='UTF-8',newline='') as f:
    writer = csv.writer(f)
    writer.writerow(header)
    writer.writerows(lst)

J'ai réussi à obtenir le code ci-dessus

splunk


$SPLUNK_HOME/bin/splunk cmd python3 ./dl_json_to_csv2.py

Opération confirmée avec

Correction par pythonista

dl_json_to_csv2.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import json
import csv

headers={'accept': 'application/json', 'content-type': 'application/json'}
url = 'https://www3.nhk.or.jp/news/special/coronavirus/data/47patients-data.json'

response=requests.get(url,headers=headers)
json_obj = response.json()

lst = [['pref']+json_obj['category']] + [[json['name']]+json['data'] for json in json_obj['data47']]

with open('japan_covid19.csv', 'w', encoding='UTF-8',newline='') as f:
        writer = csv.writer(f)
        writer.writerows(lst)

: étonné: Une compétence trop avancée est magique.

Commentaire

python


a=['1']
b=['2','3']
c=[a+b]
d=['4']
c+d

Le résultat de [['1', '2', '3'], '4'] Si vous placez list dans [], cela devient une liste dans la liste.

python


d={'data47':[{'name':'4','data':['5','6','7']},{'name':'8','data':['9','10','11']}]}
e=[[json['name']] + json['data'] for json in d['data47']]
e

Le résultat de [['4', '5', '6', '7'], ['8', '9', '10', '11']]

Donc

python


a=['1']
b=['2','3']
c=[a+b]
d={'data47':[{'name':'4','data':['5','6','7']},{'name':'8','data':['9','10','11']}]}
e=[[json['name']] + json['data'] for json in d['data47']]
c+e

[['1', '2', '3'], ['4', '5', '6', '7'], ['8', '9', '10', '11']]

Plus fin

ʻE` est une liste

--Inclusion complète: ʻExpression utilisant des variables pour les variables dans la liste --Expression:[json ['nom']] + json ['données'] --Variable:json --Liste:d ['data47']`

Par exemple

python


d={'data47':[{'name':'4','data':['5','6','7']},{'name':'8','data':['9','10','11']}]}
e=[json['name'] + json['data'] for json in d['data47']]
e

Puis Erreur de type: peut seulement concaténer str (pas" list ") à str. Le retour de json ['name'] est str, alors que json ['data'] ʻis list list` Vous ne pouvez combiner que les uns avec les autres.

: smiling_imp: Je comprends quelque chose.

Résumé

Je l'ai fait en vérifiant quel tableau était utilisé avec type (). J'étais accro à faire une liste dans la liste, et cela s'est avéré être un code maladroit. ~~ En cours de correction. ~~ J'ai demandé à pythonista de le corriger.

~~ Quand il est propre, j'aimerais l'utiliser pour le tableau de bord ~~ Splunk.

Recommended Posts

Convertir JSON en CSV avec Python de Splunk
Créer Apache Log CSV avec Python
Précautions lors de la saisie à partir de CSV avec Python et de la sortie vers json pour faire exe
Sortie CSV de la recherche Google avec [Python]! 【Facile】
Pyinstaller transforme les scripts Python en .exes qui peuvent être exécutés sous Windows
[Python] Utiliser JSON avec Python
Rendre OpenCV3 disponible à partir de python3 installé avec pyenv
Générez une instruction d'insertion à partir de CSV avec Python.
[Part.3] Exploration avec Python! C'est JSON plutôt que CSV! ??
[AWS] Faites-vous des amis avec l'entrée JSON de Lambda (version Python)
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Script Python qui crée un fichier JSON à partir d'un fichier CSV
Supprimer les en-têtes de fichiers CSV à plusieurs formats avec python
Lire csv avec des pandas python
POST json avec le script Python 3
Rendre MeCab disponible à partir de Python 3
Créez Puyopuyo AI avec Python
Faites une loterie avec Python
Formater json avec Vim (avec python)
Avec skype, notifiez avec skype de python!
Télécharger le fichier csv avec python
Lire des données json avec python
Remarques sur l'importation de données depuis MySQL ou CSV avec Python
Technique élégante pour coller des données CSV dans Excel avec Python
[Python] Transformez les ressources AWS simulées avec Moto en appareils Pytest
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
Créez un bot LINE avec Python + heroku
Appeler C depuis Python avec DragonFFI
Utilisation de Rstan de Python avec PypeR
[Python] Ecrire dans un fichier csv avec Python
Faisons une interface graphique avec python.
Sortie vers un fichier csv avec Python
Encodage et décodage JSON avec python
Créer un système de recommandation avec python
Exécutez Aprili depuis Python sur Orange
Gérer les fichiers Excel CSV avec Python
Appelez python de nim avec Nimpy
Faisons un graphe avec python! !!
Lire et écrire du CSV avec Python
Charger fbx depuis python avec cinema4d
Transformez plusieurs données numériques d'élévation en une seule image avec Python
Comment importer des fichiers CSV et TSV dans SQLite avec Python
Extraire des tables de base de données avec CSV [connexion ODBC de R et python]
Rendre la console Python couverte d'UNKO
Collecter des informations sur Twitter avec Python (API Twitter)
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
Recevoir des données textuelles de mysql avec python
Obtenir le code HTML de l'élément avec du sélénium Python
INSÉRER dans MySQL avec Python [Pour les débutants]
[Note] Obtenir des données de PostgreSQL avec Python
Faisons un jeu de shiritori avec Python
Entrée / sortie de données en Python (CSV, JSON)
Créez wordcloud à partir de votre tweet avec python3
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Python: lecture de données JSON à partir de l'API Web
Convertir de PDF en CSV avec pdfplumber
Mettez des tampons de protocole dans sqlite avec python