Вставка DataFrame в базу данных без написания кода SQL возможна с помощью SQLAlchemy и Pandas с Python.
SQLAlchemy — это набор инструментов Python SQL и Object Relational Mapper, который дает разработчикам приложений всю мощь и гибкость SQL.
Сочетание Pandas и SQLAlchemy позволяет вам вставить весь DF в вашу БД без использования SQL.
import pandas as pd import sqlalchemy as db import psycopg2 import psycopg2.extras engine = db.create_engine('postgresql+psycopg2://user:password@hoste/DB Name') df = pd.read_csv(path) df.to_sql('table',engine, schema='master',index=False, if_exists='replace')
Параметры if_exists поставляются с тремя различными вариантами, где по умолчанию задано значение сбой:
- 'fail' -›Поднять ValueError.
- 'заменить' -›Удалить таблицу перед вставкой новых значений.
- 'добавить' -›append: Вставить новые значения существующей таблицы.
Имейте в виду, что параметр замены удалит всю таблицу и создаст ее заново на основе новых значений, поэтому вы потеряете все существующие данные в таблице.
Если используется схема по умолчанию, параметр схемы не требуется.
Параметр index исключит индекс DataFrame, который будет присутствовать в таблице по умолчанию.