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

wst*_*omv 5 sql database sqlalchemy commit pandas

to_sql()可用于DataFrame对象的 Pandas 函数的文档(请参阅to_sql()文档)并未说明commit()需要(或建议)调用连接来保持更新。

我可以安全地假设它DataFrame.to_sql('table_name', con)总是会自动提交更改(例如:)con.commit()

Max*_*axU 5

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

Pandas 调用 SQLAlchemy 方法executemany(用于 SQL Alchemy 连接):

conn.executemany(self.insert_statement(), data_list)
Run Code Online (Sandbox Code Playgroud)

对于 SQLite 连接

def run_transaction(self):
    cur = self.con.cursor()
    try:
        yield cur
        self.con.commit()
    except:
        self.con.rollback()
        raise
    finally:
        cur.close()
Run Code Online (Sandbox Code Playgroud)

并且由于SQL炼金术文档 executemany的问题commit