Започвайки от pandas 0.14 (издаден в края на май 2014 г.), postgresql се поддържа. sql
модулът вече използва sqlalchemy
за поддръжка на различни варианти на база данни. Можете да подадете sqlalchemy двигател за postgresql база данни (вижте документи). Напр.:
from sqlalchemy import create_engine
engine = create_engine('postgresql://username:[email protected]:5432/mydatabase')
df.to_sql('table_name', engine)
Прав си, че в pandas до версия 0.13.1 postgresql не се поддържаше. Ако трябва да използвате по-стара версия на pandas, ето една закърпена версия на 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')