sql >> Databáze >  >> RDS >> PostgreSQL

Jak zapsat DataFrame do postgresové tabulky?

Počínaje verzí pandas 0.14 (vydáno koncem května 2014) je podporován postgresql. sql modul nyní používá sqlalchemy pro podporu různých variant databází. Můžete předat sqlalchemy engine pro postgresql databázi (viz dokumenty). Např.:

from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)

Máte pravdu, že v pandách až do verze 0.13.1 nebyl postgresql podporován. Pokud potřebujete použít starší verzi pand, zde je opravená verze pandas.io.sql :https://gist.github.com/jorisvandenbossche/10841234.
Napsal jsem to před časem, takže nemohu plně zaručit, že to vždy funguje, ale základ by tam měl být). Pokud tento soubor vložíte do svého pracovního adresáře a importujete jej, měli byste být schopni to udělat (kde con je připojení postgresql):

import sql  # the patched version (file is named sql.py)
sql.write_frame(df, 'table_name', con, flavor='postgresql')


  1. Vytvoření webové aplikace od nuly pomocí Python Flask a MySQL:Část 4

  2. Získejte seznam databázových poštovních účtů v SQL Server (T-SQL)

  3. SQLite JSON_INSERT()

  4. [01000][unixODBC][Správce ovladačů]Nelze otevřít knihovnu '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so':soubor nenalezen