Python SQLite Regex 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()

Здесь ошибка введите описание изображения здесь

Любая помощь или совет будут очень оценены.

1 ответ

Вы повторно используете переменную c в двух разных местах: одно для хранения соединения с базой данных, а другое для сохранения результата Regex в блоке цикла for. Устраните неоднозначность, и ваш код будет в порядке.

Другие вопросы по тегам