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

2024-06-28 19:57:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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]

非常感谢


Tags: 文件数据nameimportretxt脚本名称
1条回答
网友
1楼 · 发布于 2024-06-28 19:57:33

你忘了在n[1]后面加上右括号:

cursor.execute("... WHERE name =('"+str(n[1])+"')")

要避免出现这样的格式问题,以及在名称包含引号时出现转义问题,最好使用参数:

cursor.execute("... WHERE name = ?", (n[1],))

相关问题 更多 >