RAV*_*RMA 5 python pandas amazon-redshift pandas-to-sql
AttributeError: 'psycopg2.extensions.cursor' 对象没有属性 'fast_executemany'
to_sql() 太慢了。所以试图解决这个问题。但是当我运行以下代码时,我得到了:-
AttributeError: 'psycopg2.extensions.cursor' 对象没有属性 'fast_executemany'
@event.listens_for(conn, 'before_cursor_execute')
def receive_before_cursor_execute(conn, cursor, statement, params, context, executemany):
if executemany:
cursor.fast_executemany = True
cursor.commit()
Run Code Online (Sandbox Code Playgroud)
使用带有元组的 insert 比executemanyin 快大约 200 倍psycopg
args_str = ','.join(cur.mogrify("(%s,%s,%s,%s,%s,%s,%s,%s,%s)", x) for x in tup)
cur.execute("INSERT INTO table VALUES " + args_str)
Run Code Online (Sandbox Code Playgroud)
它相当于
INSERT INTO table VALUES ('a', 'b', 'c'), ('a', 'b', 'c'), ('a', 'b', 'c'), ('a', 'b', 'c');
Run Code Online (Sandbox Code Playgroud)