Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用sqlite数据库进行计算_Python_Database_Loops_Sqlite - Fatal编程技术网

在python中使用sqlite数据库进行计算

在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

我在python脚本中生成了一个运行sqlite3的数据库文件。现在,我试图使用数据库中的数据进行一些计算,但是我在运行一个循环时遇到了问题,该循环从一个txt文件中获取一个名称,以帮助选择数据范围。任何人都可以帮助我,请或指出什么是最好的方法,使计算与数据库数据

这就是我在文本文件中的内容,我想使用名称“Candy”和Cannon's Roar作为数据选择的过滤器
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:无效语法