【问题标题】:Is there any way to efficiently append a pandas series to sql database table (as an additional column)?有什么方法可以有效地将熊猫系列附加到 sql 数据库表(作为附加列)?
【发布时间】:2019-12-11 16:38:42
【问题描述】:

所以我正在尝试将 pandas DataFrame 插入数据库。数据库已经有一个表,其中包含 DataFrame 的大部分内容,除了一列。

我尝试使用df.to_sql() 插入整个DataFrame,但它需要很多时间。是否有任何函数或库可以将 DataFrame 中的一列附加到现有数据库表中?

【问题讨论】:

标签: python sql database pandas


【解决方案1】:

可能是当您将数据插入数据库时​​,表会被删除,并且包括新列在内的所有数据都会写入数据库。

不妨试试ALTER TABLE <tablename> ADD column dtype;

插入可以通过UPDATE <tablename> SET column = value where condition 完成

然后您可以遍历 pandas.Series 对象并仅插入新值。

类似这样的:

crsr = cnxn.cursor()
crsr.fast_executemany = True
crsr.executemany(
    "UPDATE <tablename> SET col1 VALUE ?",
    list(df.column.itertuples(index=False)
)
crsr.commit()

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 2015-10-01
    相关资源
    最近更新 更多