Python SQLite正则表达式ExecuteMany

时间:2018-10-09 22:51:58

标签: python regex sqlite executemany

预先感谢您的帮助。

我在python中使用正则表达式,并将文本中的模式分类。然后,我将其存储在列表中,并在使用SQLite将值插入表中时调用该列表。但是,我得到的'str'对象没有属性'executemany'。下面的代码应该可以正常工作(对于2元组,它也是如此)并将我的数据插入其中,但它给我一个错误。

searc_h = re.compile(r'([A-Z]{4}|[A-Z]{3})\s([\d]{4})\s-\s[A-Z]{1}\s\((\d\.\d)')
find_all = list(re.findall(searc_h, texter))

find_all_fin = []
for (a,b,c) in find_all:
    ap = (int(b), str(a), float(c))
    find_all_fin.append(ap)


c.executemany('INSERT INTO Takes VALUES (?, ?, ?)', find_all_fin)
conn.commit()

这是错误 enter image description here

任何帮助或建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您将在两个不同的地方重用变量c,一个用于存储数据库连接,另一个用于在Reg循环块中存储正则表达式结果。消除它们的歧义,您的代码就可以了。