sict_csic/help_files/01_create_database.py

87 lines
2.4 KiB
Python

import sqlite3
import os
import json
# from tqdm import tqdm
db = "sict_csic.db"
gen_path = lambda x : f'json_files/{x}'
# ################################################################
# CREAR LA BASE DE DATOS
# ################################################################
# Verificar si la base de datos existe y eliminarla
if os.path.exists(db):
os.remove(db)
print("Base de datos existente eliminada.")
# Conectar a la base de datos (se crea si no existe)
conexion = sqlite3.connect(db)
cursor = conexion.cursor()
# ################################################################
# CREAR TABLA DE COORDENADAS
# ################################################################
# Crear una tabla para almacenar JSON
cursor.execute(
'''
CREATE TABLE IF NOT EXISTS coordenadas_mexico (
id INTEGER PRIMARY KEY AUTOINCREMENT,
json_data TEXT NOT NULL
)
''')
# Leer el archivo JSON
with open(gen_path('coordenas_unicas.json'), 'r', encoding='utf-8-sig') as f:
json_coordenadas = json.load(f)
# Insertar el JSON en la tabla
q_coordenadas = "INSERT INTO coordenadas_mexico (json_data) VALUES (?)"
cursor.execute(q_coordenadas, (json.dumps(json_coordenadas),))
# ################################################################
# CREAR TABLA DE DIR_CSIC
# ################################################################
cursor.execute('''
CREATE TABLE IF NOT EXISTS dir_csict (
id INTEGER PRIMARY KEY AUTOINCREMENT,
json_data TEXT NOT NULL
)
''')
# Leer el archivo JSON
with open(gen_path('DirectorioCSICT.json'), 'r', encoding='utf-8-sig') as f:
json_dir_csic = json.load(f)
q_dir_csic = "INSERT INTO dir_csict (json_data) VALUES (?)"
cursor.execute(q_dir_csic, (json.dumps(json_dir_csic),))
# ################################################################
# CREAR TABLA DE SITIOS
# ################################################################
cursor.execute(
'''
CREATE TABLE sitios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
json_data TEXT NOT NULL
);
''')
# Leer el archivo JSON
with open(gen_path('sitios.json'), 'r', encoding='utf-8-sig') as f:
json_sitios = json.load(f)
q_sitios = "INSERT INTO sitios (json_data) VALUES (?)"
cursor.execute(q_sitios, (json.dumps(json_sitios),))
# Guardar cambios y cerrar conexión
conexion.commit()
conexion.close()
print("base de datos creada exitosamente")