[英]Python creating sqlite3 database from excel ; however, it creates the database name as "database.xlsx.db
[英]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.