我有一个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)")???这就是我所困扰的
答案 0 :(得分:0)
从Python变量插入值的语法如下:
cur.execute("INSERT INTO table1 (`Continent`,`City`) VALUES (?,?)",(Continent,City));
?
表示参数,execute
函数的第二个参数是相应变量的可迭代(元组,列表)。