从python将数据插入sql数据库
我有一个python表,我想转换成.db格式。 但是,当我在空闲状态下运行代码时,会创建带有标题的表,但不会插入数据。这是我的代码:从python将数据插入sql数据库,python,sql,sqlite,Python,Sql,Sqlite,我有一个python表,我想转换成.db格式。 但是,当我在空闲状态下运行代码时,会创建带有标题的表,但不会插入数据。这是我的代码: import sqlite3 conn = sqlite3.connect('test.db') c = conn.cursor() kampData = [ (1,12,'','','Everton','Liverpool',2.9,3.3,2.63,0,0), (2,12,'','','Fulham','Swansea City',3.4,3.4,2.
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
kampData = [
(1,12,'','','Everton','Liverpool',2.9,3.3,2.63,0,0),
(2,12,'','','Fulham','Swansea City',3.4,3.4,2.3,0,0),
(3,12,'','','Hull City','Crystal Palace',1.91,3.5,4.75,0,0)
]
def tableCreate():
c.execute("CREATE TABLE TABLE(ID INT, Round INT, Date TEXT, Time TEXT, Home TEXT, Away TEXT, O1 REAL, OX REAL, O2 REAL, ScoreHome INT, ScoreAway INT)")
def insertData():
i = 0
while i < len(kampData):
c.execute("INSERT INTO TEST1 (ID, Round, Date, Time, Home, Away, O1, OX, O2, ScoreHome, ScoreAway) VALUES (?,?,?,?,?,?,?,?,?,?,?)",
(kampData[i][0],kampData[i][1],kampData[i][2],kampData[i][3],kampData[i][4],kampData[i][5],kampData[i][6],kampData[i][7],kampData[i][8],kampData[i][9],kampData[i][10],))
i = i + 1
导入sqlite3
conn=sqlite3.connect('test.db')
c=连接光标()
kampData=[
(1,12,","埃弗顿","利物浦",2.9,3.3,2.63,0,0),,
(2,12,'','','富勒姆','斯旺西城',3.4,3.4,2.3,0,0),
(3,12,","赫尔城","水晶宫",1.91,3.5,4.75,0,0)
]
def tableCreate():
c、 执行(“创建表(ID INT、Round INT、日期文本、时间文本、主文本、离开文本、O1 REAL、OX REAL、O2 REAL、ScoreHome INT、ScoreAway INT)”)
def insertData():
i=0
而我insertData()
,函数过于冗长。最后但并非最不重要的一点是,您似乎没有提交事务
使用c.executemany()
一次性插入整个结构;无需为每列编制索引:
def insertData():
c.executemany("INSERT INTO TEST1 (ID, Round, Date, Time, Home, Away, O1, OX, O2, ScoreHome, ScoreAway) VALUES (?,?,?,?,?,?,?,?,?,?,?)",
kampData)
您还需要提交您的事务:
conn.commit()
您也没有在这里调用这两个函数。这都是你的代码吗?我打赌commit()
是这里的关键。