Как написать DataFrame в таблицу postgres?

Существует метод DataFrame.to_sql , но он работает только для баз данных mysql, sqlite и oracle. Я не могу перейти к этому методу postgres connection или sqlalchemy engine.

One Solution collect form web for “Как написать DataFrame в таблицу postgres?”

Начиная с pandas 0.14 (выпущенный в конце мая 2014 года) поддерживается postgresql. Модуль sql теперь использует sqlalchemy для поддержки различных вариантов базы данных. Вы можете передать движок sqlalchemy для базы данных postgresql (см. Документы ). Например:

 from sqlalchemy import create_engine engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase') df.to_sql('table_name', engine) 

Вы правы, что в pandas до версии 0.13.1 postgresql не поддерживался. Если вам нужно использовать более старую версию панд, вот исправленная версия pandas.io.sql : https://gist.github.com/jorisvandenbossche/10841234 .
Я написал это некоторое время назад, поэтому не могу полностью гарантировать, что он всегда работает, но база должна быть там). Если вы поместите этот файл в свой рабочий каталог и импортируете его, тогда вы сможете это сделать (где con – соединение postgresql):

 import sql # the patched version (file is named sql.py) sql.write_frame(df, 'table_name', con, flavor='postgresql') 
  • SQLAlchemy - подзапрос в предложении WHERE
  • Пример учебника sqlalchemy не работает
  • Как сгенерировать файл с DDL в диалоговом окне SQL в SQLAlchemy?
  • 500 Ошибка без каких-либо изменений в журналах apache
  • Запись больших данных данных Pandas в базу данных SQL Server
  • Это утечка памяти (программа в python с sqlalchemy / sqlite)
  • Запрос многих ко многим в SQLAlchemy
  • SQLAlchemy повышает значение None, вызывает TypeError
  • Python - лучший язык программирования в мире.