Sintaxis de funciones
La función tiene una sintaxis como se muestra:
Marco de datos.TO_SQL (Nombre, Con, Schema = None, If_Exists = 'Fail', index = true, index_label = none, chunksize = none, dtype = none, método = none)Parámetros de función
Discutamos los parámetros de la función y lo que cada uno implica:
Obtenga más información sobre los métodos de inserción SQL.
Valor de retorno de la función
La función devuelve el número de filas afectadas por la operación SQL.
Ejemplo:
En este ejemplo, insertaremos el siguiente DataFrame en una base de datos MySQL.
https: // www.dropbox.com/s/kql82sncnu7j3c1/películas.CSV?dl = 0
Paso 1: Comience por importar las bibliotecas requeridas y cargando DataFrame.
importar pandas como PDUna vez que se cargue el marco de datos, continúe con el siguiente paso.
Paso 2: El siguiente paso es crear un esquema de base de datos. Abra su terminal y conéctese a su instancia de MySQL.
$ mysql -u root -pUna vez iniciado sesión, cree un esquema de base de datos como se muestra:
mysql> Crear base de datos pandas_sample;El código anterior debe crear una base de datos llamada 'pandas_sample.'. Siéntase libre de cambiar esto para su operación deseada.
Paso 3: A continuación, volvamos a nuestro código Python y conecte a la base de datos. Podemos comenzar importando sqlalchemy y creando la conexión con el motor.
de sqlalchemy import crear_EngineEn el ejemplo anterior, comenzamos importando el módulo create_engine desde la biblioteca SQLalchemy.
Luego creamos una conexión al motor MySQL usando la sintaxis que se muestra a continuación:
create_engine ("mysql+pymysql: // user: pass@host: puerto/dbnameNota: Si no tiene instalada la biblioteca Pymysql, el código anterior devolverá un error.
Puede resolver esto instalando la biblioteca como se muestra:
PIP3 Instalar PymSQLPaso 4: Una vez que tenemos todo en funcionamiento, podemos guardar el marco de datos cargado en la base de datos utilizando la función TO_SQL () como se muestra:
df.to_sql ('películas', con = motor)El código anterior debe crear una nueva tabla llamada 'Películas' e insertar los valores de DataFrame.
Para ver todos los registros en la base de datos, podemos ejecutar:
mysql> usar pandas_sample;Esto debería devolver los registros de DataFrame como se muestra:
También puede usar Python para obtener los registros de la base de datos como se muestra:
motor.ejecutar ('select * de las películas').Fetchall ()Los valores resultantes son como se muestra:
Conclusión
Este artículo explora cómo usar la función pandas to_sql () para guardar un marco de datos en una base de datos MySQL.