我正在尝试从 Excel 电子表格创建数据库。我有以下代码,问题是当我运行我的代码时,我的数据库为每一列创建了一个表。我想为工作簿中列出的每个电子表格创建一个表格。工作表名称为 sheet1 和 sheet2。
import sqlite3
import pandas as pd
filename="script"
con=sqlite3.connect(filename+".db")
wb=pd.read_excel(filename+'.xlsx',sheet_name='sheet1')
for sheet in wb:
wb[sheet].to_sql(sheet,con, index=False)
con.commit()
con.close()
最佳答案
传递 sheetname=None
将为您提供一个 OrderedDict,其中包含工作表名称的键和作为数据帧的值,然后您可以对其进行循环。
import pandas as pd
import sqlite3
db = sqlite3.connect(':memory:')
dfs = pd.read_excel('somefile.xlsx', sheet_name=None)
for table, df in dfs.items():
df.to_sql(table, db)
关于python sqlite3 从 excel 创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814200/