有什么方法可以将熊猫系列有效地附加到sql数据库表(作为附加列)?

时间:2019-12-11 16:38:42

标签: python sql database pandas

所以我试图将pandas DataFrame插入数据库。该数据库已经有一个表,其中包含DataFrame的大部分内容,但只有一列。

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

1 个答案:

答案 0 :(得分:0)

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

也许尝试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()