创建了这个程序来将列车号和名称插入数据库。名称和数字是正确的(正如注释掉的print语句所证明的那样),但是当我用db reader打开db文件时,它是空的。在
代码:
import sqlite3
import re
conn=sqlite3.connect('example.db')
c=conn.cursor()
c.execute('''CREATE TABLE train
(number text, name text)''')
f=open("train.htm","r")
html=f.read()
num=re.findall(r"(?<=> )[0-9]+", html) #regex to get train number
name=re.findall(r"(?<=<font>)[A-Za-z]+[ A-Za-z]+",html) #regex to get train name
j=8
for i in range(0,len(num)):
#print(num[i],name[j]) #this statement proves that the values are right
c.execute("INSERT INTO train VALUES (?,?)",(num[i],name[j]))
j=j+3
conn.close()
但当我试图读取这个数据库时,它是空的。在
读取数据库的代码:
^{pr2}$我尝试在sqlitebrowser中打开这个数据库,只是为了确保它仍然是空的,所以我的第一个程序有问题,无法插入值。为什么?在
你必须打电话
以前
^{pr2}$对于要提交的插入。这是一个Python/sqlite gotcha。在
相关问题 更多 >
编程相关推荐