首页 > 解决方案 > 如何在python中将另一个excel数据附加到sqlite3数据库中?

问题描述

我需要将多个 excel 文件数据导入 SQLite 数据库,这些 excel 文件每周生成,具有相同的命名约定和数据结构。

在我的代码中成功导入了第一个文件数据,当我尝试导入第二个文件时,它给了我一个错误。

在此处输入图像描述

import sqlite3
import pandas as pd
filename="cps"
con=sqlite3.connect(filename+".db")
wb = pd.read_excel('CPS\cps29.xlsx',sheet_name = None)
for sheet in wb:

    wb[sheet].to_sql(sheet,con,index=False)
    con.commit()
    con.close()

我需要将数据附加到我的数据库中。

标签: python-3.x

解决方案


如果表已存在,则用于if_exists='append'插入新行(如果表不存在,则将创建它):

for sheet in wb:
    wb[sheet].to_sql(sheet, con, index=False, if_exists='append')
    con.commit()
con.close()

还要注意con.close()不应该在for-loop. 在所有数据提交后,在 for 循环之后调用一次。


推荐阅读