In questo articolo vedremo come creare un file di importazione SQL a partire da un file JSON con Python.
Si tratta di effettuare il parsing del file JSON di partenza e inserire le clausole INSERT
necessarie nel file SQL di destinazione.
import os
import json
def create_sql_import_file(json_file = './data.json', dest_file = './import.sql'):
if not os.path.exists(json_file):
raise FileNotFoundError('Missing JSON file.')
if os.path.exists(dest_file):
os.remove(dest_file)
rows = []
with open(json_file, 'r') as jf:
data = json.load(jf)
for datum in data:
username, email = datum
query = f"INSERT INTO table VALUES ('{username}','{email}');"
rows.append(query)
with open(dest_file, 'w') as sf:
sf.write('\n'.join(rows))
La nostra funzione verifica inizialmente che il file di partenza esista e che il file di destinazione non sia giĆ presente. Nel primo caso solleva un'eccezione, mentre nel secondo rimuove il precedente file di importazione. Quindi viene effettuato un loop sui dati del file JSON e creata una lista contenente le query SQL da eseguire. Alla file del loop viene creato il file di importazione concatenando la lista come stringa contenente le righe con le query da eseguire.