import sqlite3
import pandas as pd
conn=sqlite3.connect(r'demo.db')
c=conn.cursor()
創建新表
c.execute("""
CREATE TABLE equipments (
ID integer primary key autoincrement,
設備狀態 text,
設備編碼 text,
設備名稱 text,
資產編碼 text,
所屬科目 text,
科目名稱 text,
規格型號 text,
出廠日期 text,
出廠編號 text,
驗收日期 text,
初次調用 text,
設備原值 text,
借用人 text,
借用辦公室 text,
借用科組 text,
借用日期 text,
借用憑證 text)
""")
現在有海量數據存儲在csv上,如果我們選擇也用python腳本將它批量寫入db文件:
s=pd.read_csv('file/demo.csv',encoding='gbk') # 有中文的要解碼
dataN,paraN=s.shape
ques='('+'?,'*(paraN-1)+'?)' #cursor.execute中的動態參數表示
for i in range(dataN):
a=s.iloc[i].values
b=a[1:]
t=[int(a[0])]+a[1:]# a的第一個是ID,必須是integer類型,而pd讀取的都是string,所以要進行轉換
c.execute('insert into equipments values '+ques,t)
最后用HeidiSql查詢,導入ok
****附:
python sqlite3查看所有表名和表結構:
select name from sqlite_master where type='table' order by name;