python-3.x - 如何在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()
我需要将数据附加到我的数据库中。
解决方案
如果表已存在,则用于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 循环之后调用一次。
推荐阅读
- java - Android Studio 其他活动打不开
- docker - nexus 作为 docker 存储库
- facebook-opengraph - 我真的需要 xmlns 或前缀来使用 opengraph 元标记吗?
- php - 我的 PHP Mail() 函数不会发送电子邮件
- sql - 在 SQL Server 数据库的所有表中搜索特定的二进制列
- python - Kivy 标签的位置
- python - 从具有不同格式的不同来源中提取具有相似数据的 HTML 表 - Python
- flutter - 如何在 Flutter 中使用 GraphQL 片段?
- api - Microsoft Graph Sendmail API 错误 - 错误用户无效
- javascript - 更新未定义的 li 值