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. Устраните неоднозначность, и ваш код будет в порядке.