Es ist ein Programm zum Lesen einer JSON-Datei, zum Aggregieren des Inhalts und zum Ausgeben als CSV. Da sich der aggregierte Inhalt je nach Verwendungszweck ändert, mache ich nur einen Ort zum Lesen und Ausgeben von JSON.
Verwenden Sie tkinter
, um die GUI (File Selection Dialog) anzuzeigen.
Sobald Sie es ausführen, wird das Dialogfeld zur Dateiauswahl angezeigt, in dem Sie nur JSON-Dateien auswählen können.
#Modulimport
import os, tkinter, tkinter.filedialog
#Dialogfeld zur Dateiauswahl anzeigen
root = tkinter.Tk()
root.withdraw()
#Machen Sie nur JSON-Dateien auswählbar
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Überprüfen Sie den Pfad der ausgewählten Datei
print(file)
Überprüfen Sie den Inhalt der JSON-Datei, wenn Sie die Datei auswählen können.
Fügen Sie die json
-Bibliothek hinzu, um Dateien zu lesen und zu verarbeiten.
#Modulimport
import os, json, tkinter, tkinter.filedialog
#Dialogfeld zur Dateiauswahl anzeigen
root = tkinter.Tk()
root.withdraw()
#Machen Sie nur JSON-Dateien auswählbar
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Json-Datei lesen
json_open = open(file, 'r', encoding="utf-8")
json_load = json.load(json_open)
#Überprüfen Sie den Inhalt der JSON-Datei
print(json_load[0])
Nachdem die JSON-Datei gelesen wurde, geben wir sie in CSV aus.
#Modulimport
import os, json, csv, tkinter, tkinter.filedialog
#Dialogfeld zur Dateiauswahl anzeigen
root = tkinter.Tk()
root.withdraw()
#Machen Sie nur JSON-Dateien auswählbar
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
#Dateiinformationen abrufen
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Json-Datei lesen
json_open = open(file, 'r', encoding='utf-8')
json_load = json.load(json_open)
#Legen Sie den Ordner- und Dateinamen für die Ausgabe der CSV fest (gleicher Speicherort und Name wie die gelesene JSON-Datei).
folder_file = os.path.split(file)
folder = folder_file[0] #Ordnerpfad abrufen
file_name = file.rsplit('/', 1)[1][0:-5] #Dateinamen abrufen
csv_file_path = folder + '/' + file_name + '.csv'
#CSV-Datei erstellen (neu erstellen, falls nicht vorhanden)
if not os.path.isfile(csv_file_path):
open(csv_file_path, 'x', encoding='utf-8')
#Lesen Sie CSV im Überschreibmodus
csv_file = open(csv_file_path, 'w', encoding='utf-8')
#Schreiben Sie Einstellungen in CSV
w = csv.writer(csv_file, lineterminator='\n')
#Schreiben und schreiben Sie den Aggregationsprozess gemäß dem Inhalt von JSON
#w.writerow(['AAA','test','111'])← Bei jeweils einer Zeile
w.writerows([['AAA','Test','111'], ['BBB','tEst','222'], ['CCC','teSt','333'], ['DDD','tesT','444']])
csv_file.close()
das ist alles. Danach addieren wir nach Belieben.
Recommended Posts