Pandas DataFrame.to_sql()函数是否需要后续的commit()?

时间:2017-12-10 17:58:29

标签: sql database pandas sqlalchemy commit

可用于to_sql()个对象的Pandas函数DataFrame的文档(请参阅to_sql() documentation)并未声明需要(或推荐)对该连接进行commit()调用坚持更新。

我能否安全地假设DataFrame.to_sql('table_name', con)将始终自动提交更改(例如:con.commit())?

1 个答案:

答案 0 :(得分:1)

是的,在一天结束时它会自动提交。

Pandas calls SQLAlchemy method executemany(对于SQL Alchemy连接):

conn.executemany(self.insert_statement(), data_list)

for SQLite connection

def run_transaction(self):
    cur = self.con.cursor()
    try:
        yield cur
        self.con.commit()
    except:
        self.con.rollback()
        raise
    finally:
        cur.close()

由于最后SQL Alchemy docs executemany个问题commit