将变量调用到sqlite行

时间:2016-08-15 02:58:14

标签: python sql sqlite

我有一个python脚本,它读取conf文件并打印出匹配项。
这些匹配都存储在varialbe中。
我希望能够将值插入到sqlite表中。

文件内容如下:
你好亚洲
孟买世界 你好美国
世界Chicargo
你好澳大利亚
世界悉尼

这是我的角色。

#!/usr/bin/python
import re
import sqlite3
File = open("/home/abc/def.conf", "r")
for line in File:
        if re.match("(hello)", line, re.IGNORECASE):
                  Continent = line.lstrip("hello")
                  print Continent
        if re.match("(world)", line, re.IGNORECASE):
                  City = line.lstrip("world")
                  print a
#Creating SQL TABLE
sqlite_file = '/home/abc/dbase.sqlite3'
table_name1 = 'table1'
new_column1 = 'Continent'
new_column2 = 'City'

conn = sqlite3.connect(sqlite_file)
cur.execute('CREATE TABLE {tn} ({nf})'\
        .format(tn=table_name1, nf=new_column1))
cur.execute("ALTER TABLE {tn} ADD COLUMN '{cn}'"\
        .format(tn=table_name1, cn=new_column2))
cur.execute("INSERT INTO table1
(`Continent`,`City`) VALUES ($Continent, $City)");
conn.commit()
conn.close()

-------------- VALUES($ Continent,$ City)")???这就是我所困扰的

1 个答案:

答案 0 :(得分:0)

从Python变量插入值的语法如下:

cur.execute("INSERT INTO table1 (`Continent`,`City`) VALUES (?,?)",(Continent,City));

?表示参数,execute函数的第二个参数是相应变量的可迭代(元组,列表)。