Konvertieren Sie JSON mit Python von Splunk in CSV

Anzeigen des COVID 19-Infektionsstatus in Japan mit Splunk (überarbeitete 2. Ausgabe) verwendet Python, um Daten von HP herunterzuladen und in CSV zu verarbeiten.

Splunk hat keine "Pandas" und es scheint, dass der Schwellenwert für Leute mit Windows hoch ist, also habe ich mein Bestes mit Python in Splunk versucht.

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()

##Speicherung von Datumsdaten
header=["pref"]+[i for i in list(json_obj['category'])]

##Speicherung von Nummerndaten infizierter Personen
lst = [[] for _ in range(len(json_obj['data47']))] ##Initialisieren
for j,json in enumerate(json_obj['data47']):
    lst[j].append(json['name'])
    for json2 in json['data']:
        lst[j].append(json2)

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

Ich habe es geschafft, den obigen Code zu bekommen

splunk


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

Betrieb bestätigt mit

Korrektur durch 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)

: erstaunt: Zu fortgeschrittene Fähigkeiten sind Magie.

Kommentar

python


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

Das Ergebnis von [['1', '2', '3'], '4'] Wenn Sie list in [] einschließen, wird es zu einer Liste in der 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

Das Ergebnis von [['4', '5', '6', '7'], ['8', '9', '10', '11']]

Deshalb

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']]

Feiner

e ist eine Liste

Zum Beispiel

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

Dann Type Error: kann nur str (nicht" list ") mit str verketten. Die Rückgabe von "json [" name "]" ist "str", während "json [" data "]" is "list" ist list Sie können nur miteinander kombinieren.

: smile_imp: Ich verstehe etwas.

Zusammenfassung

Ich habe es gemacht, während ich überprüft habe, welches Array mit type () verwendet wurde. Ich war süchtig danach, eine Liste in der Liste zu erstellen, und es stellte sich heraus, dass es sich um unangenehmen Code handelte. ~~ Wird gerade korrigiert. ~~ Ich hatte Pythonista es korrigieren.

~~ Wenn es sauber ist, möchte ich es für das ~~ Splunk-Dashboard verwenden.

Recommended Posts

Konvertieren Sie JSON mit Python von Splunk in CSV
Machen Sie Apache Log CSV mit Python
Vorsichtsmaßnahmen bei der Eingabe von CSV mit Python und der Ausgabe an json, um exe zu erstellen
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
Pyinstaller verwandelt Python-Skripte in EXE-Dateien, die unter Windows ausgeführt werden können
[Python] Verwenden Sie JSON mit Python
Stellen Sie OpenCV3 in Python3 zur Verfügung, das mit pyenv installiert wurde
Generieren Sie mit Python eine Einfügeanweisung aus CSV.
[Teil 3] Crawlen mit Python! Es ist eher JSON als CSV! ??
[AWS] Freunde dich mit Lambdas JSON-Eingabe an (Python-Version)
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Entfernen Sie Überschriften aus CSV-Dateien mit mehreren Formaten mit Python
Lesen Sie CSV mit Python-Pandas
POST json mit Python 3-Skript
Stellen Sie MeCab in Python 3 zur Verfügung
Erstelle Puyopuyo AI mit Python
Machen Sie eine Lotterie mit Python
Formatieren Sie json mit Vim (mit Python)
Mit Skype benachrichtigen Sie mit Skype von Python!
Laden Sie die CSV-Datei mit Python herunter
Lesen von JSON-Daten mit Python
Hinweise zum Importieren von Daten aus MySQL oder CSV mit Python
Stilvolle Technik zum Einfügen von CSV-Daten in Excel mit Python
[Python] Machen Sie mit Moto verspottete AWS-Ressourcen zu Pytest-Fixtures
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Erstelle einen LINE-Bot mit Python + Heroku
Rufen Sie C von Python mit DragonFFI auf
Verwenden von Rstan aus Python mit PypeR
[Python] Mit Python in eine CSV-Datei schreiben
Lassen Sie uns eine GUI mit Python erstellen.
Ausgabe in eine CSV-Datei mit Python
JSON-Codierung und -Decodierung mit Python
Erstellen Sie ein Empfehlungssystem mit Python
Führen Sie Aprili von Python auf Orange aus
Behandeln Sie Excel-CSV-Dateien mit Python
Rufen Sie Python von Nim mit Nimpy auf
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Lesen und Schreiben von CSV mit Python
Laden Sie fbx aus Python mitinema4d
Machen Sie mit Python mehrere numerische Höhendaten zu einem einzigen Bild
So importieren Sie CSV- und TSV-Dateien mit Python in SQLite
Datenbanktabellen mit CSV extrahieren [ODBC-Verbindung von R und Python]
Machen Sie die Python-Konsole mit UNKO bedeckt
Sammeln von Informationen von Twitter mit Python (Twitter API)
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
Empfangen Sie Textdaten von MySQL mit Python
Holen Sie sich HTML von Element mit Python-Selen
INSERT in MySQL mit Python [Für Anfänger]
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Lassen Sie uns mit Python ein Shiritori-Spiel machen
Dateneingabe / -ausgabe in Python (CSV, JSON)
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
[Data Science-Grundlagen] Ich habe versucht, mit Python von CSV auf MySQL zu speichern
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Python: Lesen von JSON-Daten von der Web-API
Konvertieren Sie mit pdfplumber von PDF in CSV
Fügen Sie Protokollpuffer mit Python in SQLite ein