Propongo una solucion al desafio propuesto
#Importo todas las librerias
import pandas as pd
import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, inspect, text
from sqlalchemy.exc import SQLAlchemyError
#Paso de CSV a SQL
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
datos = pd.read_csv('/content/clientes_banco.csv')
datos.to_sql('tabla',engine,index=False)
pd.read_sql_table('tabla', con = engine.connect())
#Actualiza el rendimiento anual al cliente en la base de datos
query = 'UPDATE tabla SET Rendimiento_anual = 30000 WHERE ID_Cliente = 6840104'
try:
r_set = engine.connect().execute(text(query))
except SQLAlchemyError as e:
print(e)
else:
print("Registro actualizado", r_set.rowcount)
pd.read_sql_table('tabla', con = engine.connect())
#Elimina el cliente de la base de datos
query = 'DELETE FROM tabla WHERE ID_Cliente = 5008809 '
try:
r_set = engine.connect().execute(text(query))
except SQLAlchemyError as e:
print(e)
else:
print("Registro Eliminado", r_set.rowcount)
pd.read_sql_table('tabla', con = engine.connect())
#Ingresa a otro cliente con todos sus atributos en la base de datos
query = 'INSERT INTO tabla ("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")'
try:
r_set = engine.connect().execute(text(query))
except SQLAlchemyError as e:
print(e)
else:
print("Registro Insertado: ", r_set.rowcount)
pd.read_sql_table('tabla', con = engine.connect())