如何将DataFrame写入postgres表?

DataFrame.to_sql方法,但仅适用于mysql,sqlite和oracle数据库。我无法传递给此方法postgres连接或sqlalchemy引擎。



莫回无
浏览 1320回答 3
3回答

长风秋雁

这就是我做的。可能更快,因为它正在使用execute_batch:# df is the dataframeif len(df) > 0:    df_columns = list(df)    # create (col1,col2,...)    columns = ",".join(df_columns)    # create VALUES('%s', '%s",...) one '%s' per column    values = "VALUES({})".format(",".join(["%s" for _ in df_columns]))     #create INSERT INTO table (columns) VALUES('%s',...)    insert_stmt = "INSERT INTO {} ({}) {}".format(table,columns,values)    cur = conn.cursor()    psycopg2.extras.execute_batch(cur, insert_stmt, df.values)    conn.commit()    cur.close()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python