Usted es responsable de crear una base de datos local de clientes para una institución financiera. Disponemos del archivo CSV con los datos de los clientes.
Tu misión es:
- Crear la base de datos local con la biblioteca SQLAlchemy.
import pandas as pd
from sqlalchemy import create_engine, text
# Crear base de datos SQLite
engine = create_engine("sqlite:///clientes_banco.db")
- Escribir los datos del archivo CSV en esta base de datos local.
# Cargar CSV en un DataFrame
ruta_csv = "clientes_banco.csv"
df_clientes = pd.read_csv(ruta_csv)
# Escribir DataFrame en la base de datos
df_clientes.to_sql(
name="clientes",
con=engine,
if_exists="replace", # reemplaza si existe
index=False
)
print("Base de datos creada y datos cargados correctamente.")
- Realizar tres actualizaciones en la base de datos:
- Actualizar el registro del cliente ID 6840104 cuyo rendimiento anual cambió a 300000.
# Conexión para ejecutar SQL
with engine.connect() as conn:
# 1) Actualizar rendimiento anual del cliente ID 6840104
conn.execute(
text("""
UPDATE clientes
SET Rendimiento_anual = 300000
WHERE ID_cliente = 6840104
""")
)
- Eliminar el registro de cliente ID 5008809, ya que esta persona ya no tiene cuenta en la institución financiera.
# 2) Eliminar cliente ID 5008809
with engine.connect() as conn:
conn.execute(
text("""
DELETE FROM clientes
WHERE ID_cliente = 5008809
""")
)
Crear un nuevo registro de cliente siguiendo las especificaciones a continuación:
ID_cliente: 6850985
Edad: 33
Grado_estudio: Doctorado
Estado_civil: Soltero
Tamaño_familia: 1
Categoria_de_renta: Empleado
Ocupacion: TI
Años_empleado: 2
Rendimiento_anual: 290000
Tiene_carro: 0
Vivienda: Casa/Departamento propio
Consejo importante: Para agregar un nuevo cliente a la tabla, use la cláusula INSERT INTO seguida del nombre de la tabla y luego especifique los nombres de las columnas de la tabla entre paréntesis. Utilice la cláusula VALUES y luego pase entre paréntesis los nuevos valores para este nuevo registro. Asegúrese de que los valores estén en el orden correcto y en el formato adecuado para cada columna.
# 3) Insertar nuevo cliente
with engine.connect() as conn:
conn.execute(
text("""
INSERT INTO clientes (
ID_cliente,
Edad,
Grado_estudio,
Estado_civil,
Tamaño_familia,
Categoria_de_renta,
Ocupacion,
Años_empleado,
Rendimiento_anual,
Tiene_carro,
Vivienda
) VALUES (
6850985,
33,
'Doctorado',
'Soltero',
1,
'Empleado',
'TI',
2,
290000,
0,
'Casa/Departamento propio'
)
""")
)
conn.commit()
print("Actualizaciones realizadas correctamente.")