-1

在此先感谢您的帮助。

我在 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()

这是错误 在此处输入图像描述

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

4

1 回答 1

0

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

于 2018-10-09T23:00:45.647 回答