预先感谢您的帮助。
我在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
任何帮助或建议都将不胜感激。
答案 0 :(得分:0)
您将在两个不同的地方重用变量c
,一个用于存储数据库连接,另一个用于在Reg循环块中存储正则表达式结果。消除它们的歧义,您的代码就可以了。