在python中使用sqlite数据库进行计算
我在python脚本中生成了一个运行sqlite3的数据库文件。现在,我试图使用数据库中的数据进行一些计算,但是我在运行一个循环时遇到了问题,该循环从一个txt文件中获取一个名称,以帮助选择数据范围。任何人都可以帮助我,请或指出什么是最好的方法,使计算与数据库数据 这就是我在文本文件中的内容,我想使用名称“Candy”和Cannon's Roar作为数据选择的过滤器在python中使用sqlite数据库进行计算,python,database,loops,sqlite,Python,Database,Loops,Sqlite,我在python脚本中生成了一个运行sqlite3的数据库文件。现在,我试图使用数据库中的数据进行一些计算,但是我在运行一个循环时遇到了问题,该循环从一个txt文件中获取一个名称,以帮助选择数据范围。任何人都可以帮助我,请或指出什么是最好的方法,使计算与数据库数据 这就是我在文本文件中的内容,我想使用名称“Candy”和Cannon's Roar作为数据选择的过滤器 GPB,坎蒂,14 4.333 GPB,加农炮的咆哮,5 这就是我想要做的 import sqlite3 import re im
GPB,坎蒂,14 4.333 GPB,加农炮的咆哮,5 这就是我想要做的
import sqlite3
import re
import sqlite3
conn = sqlite3.connect('raceinfo.db')
cursor = conn.cursor()
base = open("base/dognames.txt").read()
nome = re.findall(re.compile('(.+?), (.+?), (.+?)'),base)
for n in name:
cursor.execute("SELECT AVG(FINALPLACE) from BASEINICIAL WHERE name =('"+str(n[1]+"')")
print cursor.fetchone()[0]
非常感谢您忘了在
n[1]
后面加一个右括号:
cursor.execute("... WHERE name =('"+str(n[1])+"')")
为了避免类似这样的格式问题,以及在名称包含引号时转义问题,最好使用参数:
cursor.execute("... WHERE name = ?", (n[1],))
您遇到了什么问题?当我尝试使用(“+str(n[1]+”)进行查找时,选择功能不起作用。“不起作用”是什么意思?它没有将上述内容作为有效语法读取。这是我返回的错误(上次调用):文件“”,文件“upt.py”中的第1行,第10行print cursor.fetchone()[0]^SyntaxError:无效语法