AttributeError: 'psycopg2.extensions.cursor' 对象没有属性 'fast_executemany'

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)

fra*_*own 4

使用带有元组的 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)