@try100
На пути к познанию Python

Как передать несколько списков в БД с помощью PyMysql на Python 3?

Здравствуйте! Имеется три списка в контексте парсера:
ptitle = список 1 (Названия новостей)
purl = список 2 (Список ссылок на видео)
pimg = список 3 (Список ссылок на картинки)
Получены списки примерно такой функцией:
def parse(html):
	soup = BeautifulSoup(html,'html.parser')
	table = soup.find('table')
	for row in table.find_all('span', id='title1'):
		title = row.getText()
		ptitle.append(title)

	return ptitle

Для каждого списка работает своя отдельная функция, которая возвращает список. Теперь необходимо передать эти списки в удаленную базу данных.
def connect():
	conn = pymysql.connect(host='xx.xx.xx.xx', user='user', password='pass', db='test', charset='utf8')
	cur = conn.cursor()
	insert = (
	  'INSERT INTO `Post`(`Image`, `Video`, `Title`)'
	  'VALUES (?,?,?)'
	  )
	cur.execute(insert, ('pimg', 'purls', 'ptitle'))

Данный код не работает, как можно реализовать задачу? Помогите пожалуйста!
TypeError: not all arguments converted during string formatting
  • Вопрос задан
  • 353 просмотра
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
см. сur.executemany()

в аргументе - список списков или кортежей
один список/кортеж - один набор для одиночной вставки
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы