pandas 使用asyncpg将数据框插入PostgreSQL

xxls0lw8  于 2022-11-27  发布在  PostgreSQL
关注(0)|答案(1)|浏览(176)

我试图写Pandas Dataframe 到postgres与asyncpg。
我已经为我的 Dataframe ('values1 ')尝试了这个解决方案:

tuples = ([tuple(x) for x in values1.values])

s = await conn.copy_records_to_table(values1, records=tuples, columns=list(values1.columns), timeout=10)

但这对我不起作用:

UndefinedTableError: relation "   objectid                                  name descript   ty" does not exist
vlju58qv

vlju58qv1#

如果你只是简单地用postgresql创建引擎,我假设你可能有一个字典,里面有创建连接所需的数据。

engine = psycopg2.connect(user=db['user'],
                              password=db['password'],
                              host=db['host'], 
                              port=db['port'], 
                              database=db['dbname'])

然后简单地将panda内置函数与 Dataframe 一起使用,如下所示:

df.to_sql(TABLE_NAME, conn=engine, if_exists='append' ) # or 'replace' instead of append

相关问题