所以我试图将pandas DataFrame插入数据库。该数据库已经有一个表,其中包含DataFrame的大部分内容,但只有一列。
我尝试使用df.to_sql()
插入整个DataFrame,但这需要很多时间。是否有任何功能或库只能将DataFrame中的一列追加到现有数据库表中?
答案 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()