Python 3.x 如何在python中将excel数据导入sqlite数据库?

Python 3.x 如何在python中将excel数据导入sqlite数据库?,python-3.x,Python 3.x,我有多个excel文件中的数据,我必须使用python将excel特定的工作表数据导入SQLite数据库 我每周都准备这些excel文件,因此,一旦将表格创建到SQLite数据库中并导入一周的文件,那么每周我都必须追加excel文件。实现这一点的最简单方法可能是将excel文件导出到CSV文件,并使用在Python程序中读取这些数据 然后,您可以使用将此数据写入数据库。您可以尝试读取Excel(.xlsx)文件。然后可以使用模块将数据写入sqlite3数据库 openpyxl是第三方模块,因此您

我有多个excel文件中的数据,我必须使用python将excel特定的工作表数据导入SQLite数据库


我每周都准备这些excel文件,因此,一旦将表格创建到SQLite数据库中并导入一周的文件,那么每周我都必须追加excel文件。

实现这一点的最简单方法可能是将excel文件导出到CSV文件,并使用在Python程序中读取这些数据

然后,您可以使用将此数据写入数据库。

您可以尝试读取Excel(.xlsx)文件。然后可以使用模块将数据写入sqlite3数据库

openpyxl是第三方模块,因此您必须使用pip来安装它

pip安装openpyxl

sqlite3模块是在默认的python模块中构建的,因此您不需要对其进行pip


有很多关于如何在其网页上使用openxl的例子。您将找到如何读取Excel文件中数据的方法。

我只需将以下代码写入juypitor笔记本,它将我的Excel数据导入sqlite3数据库。工作很好

import sqlite3
import pandas as pd

con = sqlite3.connect('cps.db')
wb = pd.read_excel('CPS\CPS.xlsx',sheet_name = None)

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

如果要将工作表写入单个表中

import sqlite3
import pandas as pd

cxn = sqlite3.connect('mydb.db')
wb = pd.read_excel('myxl.xlsx',sheet_name = 'mysheet')
wb.to_sql(name='mytable',con=cxn,if_exists='replace',index=True)
cxn.commit()
cxn.close()

不幸的是,这不会保留图像(BLOB)。对我来说,这会将Excel表中的每一列写入一个单独的SQLite表中,因此,如果Excel表有10列,则会得到10个单独的SQLite表。我不认为这是OP要求的。