繁体   English   中英

python sqlite3从excel创建数据库

[英]python sqlite3 creating a DB from excel

我正在尝试从 Excel 电子表格创建数据库。 我有下面的代码,问题是当我运行我的代码时,我的数据库为每一列创建了一个表。 我想为工作簿中列出的每个电子表格创建一个表格。 工作表名称是工作表 1 和工作表 2。

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)
import sqlite3
import pandas as pd
filename="script"
con=sqlite3.connect(filename+".db")
wb=pd.ExcelFile(filename+'.xlsx')
for sheet in wb.sheet_names:
        df=pd.read_excel(filename+'.xlsx',sheetname=sheet)
        df.to_sql(sheet,con, index=False,if_exists="replace")
con.commit()
con.close()

首先获取工作表名称,然后读取工作表并按照上面给出的方式写入 sqlite。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM