我有5个pandas DataFrame,它们代表现有PostgreSQL数据库中通过多对多关系链接的表。我的问题是如何将这些数据框中的数据插入数据库。
到目前为止,我已经使用automap()
来获取sqlalchemy ORM对象,但这是循环遍历每个数据帧行并为数据行创建ORM对象的最佳方式。之后,我想我必须重新遍历每个对象并使用.add()
来映射所有对象之间的关系。
这是最好的方法吗?似乎多余和低效。
答案 0 :(得分:1)
我使用了与sqlalchemy有关的pandas中的以下内容:
df.to_sql('TABLENAME', engine, index=False, if_exists=append)
在创建引擎时,我使用了 fast_executemany = True 选项,它使速度大大提高。
以下是to_sql函数的网址:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html