domingo, 20 de octubre de 2019

DataFrame to Postgresql

El siguiente script crea y popula una tabla en postgresql usando un DataFrame como origen.

Notas:
La funcion to_sql maneja el create table y los tipos de datos de las columas.
El parámetro if_exists de la funcion to_sql permite estos argumentos: fail, replace, append


Conceptualmente sería así:












Pyhon script
import pandas as pd 
from sqlalchemy import create_engine

# create data frame inline ----------------------------
df = pd.DataFrame({'ID':[1,2,3,4],
    'First Name':['juan', 'maria', 'jose', 'isabel'],
    'Edad':[11, 22, 33, 44]})

# rename columns for postgresql ----------------
df.columns = [c.lower().replace(' ', '_') for c in df.columns]

# create engine --------------------------------------
engine = create_engine('postgresql://pg_username:pg_password@127.0.0.1:5432/database')

# create table -------------------------------------
df.to_sql('usuarios',
          con=engine,
          if_exists='replace',
          index=False
          )

Referencias
https://stackoverflow.com/questions/2987433/how-to-import-csv-file-data-into-a-postgresql-table
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html


No hay comentarios:

Publicar un comentario