C'est un programme pour lire un fichier JSON, agréger le contenu et le sortir en CSV. Étant donné que le contenu agrégé change en fonction de l'objectif, je ne fais qu'un endroit pour lire et générer du JSON.
--Afficher la boîte de dialogue de sélection de fichier --Lire le fichier JSON --Aggregate et sortie CSV
Utilisez tkinter
pour afficher le GUI (File Selection Dialog).
Dès que vous l'exécutez, la boîte de dialogue de sélection de fichier apparaîtra, vous permettant de sélectionner uniquement les fichiers JSON.
#Importation de module
import os, tkinter, tkinter.filedialog
#Afficher la boîte de dialogue de sélection de fichier
root = tkinter.Tk()
root.withdraw()
#Rendre uniquement les fichiers json sélectionnables
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Vérifiez le chemin du fichier sélectionné
print(file)
Vérifiez le contenu du fichier JSON lorsque vous pouvez sélectionner le fichier.
Ajoutez la bibliothèque json
pour lire et gérer les fichiers.
#Importation de module
import os, json, tkinter, tkinter.filedialog
#Afficher la boîte de dialogue de sélection de fichier
root = tkinter.Tk()
root.withdraw()
#Rendre uniquement les fichiers json sélectionnables
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Lire le fichier json
json_open = open(file, 'r', encoding="utf-8")
json_load = json.load(json_open)
#Vérifiez le contenu du fichier json
print(json_load[0])
Maintenant que nous avons lu le fichier JSON, faisons-le sortir au format CSV.
#Importation de module
import os, json, csv, tkinter, tkinter.filedialog
#Afficher la boîte de dialogue de sélection de fichier
root = tkinter.Tk()
root.withdraw()
#Rendre uniquement les fichiers json sélectionnables
fTyp = [("","*.json")]
iDir = os.path.abspath(os.path.dirname(__file__))
#Obtenir des informations sur les fichiers
file = tkinter.filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
#Lire le fichier json
json_open = open(file, 'r', encoding='utf-8')
json_load = json.load(json_open)
#Définissez le dossier et le nom du fichier pour la sortie CSV (même emplacement et même nom que le fichier JSON lu)
folder_file = os.path.split(file)
folder = folder_file[0] #Obtenir le chemin du dossier
file_name = file.rsplit('/', 1)[1][0:-5] #Obtenir le nom du fichier
csv_file_path = folder + '/' + file_name + '.csv'
#Créer un fichier CSV (créer un nouveau s'il n'existe pas)
if not os.path.isfile(csv_file_path):
open(csv_file_path, 'x', encoding='utf-8')
#Lire CSV en mode écrasement
csv_file = open(csv_file_path, 'w', encoding='utf-8')
#Écrire les paramètres au format CSV
w = csv.writer(csv_file, lineterminator='\n')
#Ecrire et écrire le processus d'agrégation en fonction du contenu de JSON
#w.writerow(['AAA','test','111'])← Dans le cas d'une ligne à la fois
w.writerows([['AAA','Test','111'], ['BBB','tEst','222'], ['CCC','teSt','333'], ['DDD','tesT','444']])
csv_file.close()
c'est tout. Après cela, ajoutons comme vous le souhaitez.
Recommended Posts