Форум сайта python.su
0
Выполняю в цикле такой код:
sql = '''INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date)''' values = ''' VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ''' % ( res_id, log_id, resource_link, item_title, item_content, n_date, nd_date, s_date, not_date) result = sql + values
INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES ('35', '1', 'http://bryansk-news.net/society/2019/10/07/37428.html', 'Брянцы поругались из-за «Джокера»', '| Общество Нешуточная полемика развернулась в социальных сетях из-за криминальной драмы «Джокер», которая на прошлой неделе вышла на большие экраны в Брянске. Пост этой ленте Тодда Филлипса посвятили в одной из брянских групп ВКонтакте. Посмотрели публикацию более 26 тысяч человек. Комментируют брянцы активно, однако единодушия в оценках нет. Одни называют «Джокера» шедевром, а Хоакина Феникса, исполнившего главную роль, — гением. Другие плюются, поскольку ожидали увидеть очередной попкорновый экшн, а не трагическую историю маленького человека. В итоге страсти накаляются. Кто-то свое мнение обосновывает, другие переходят на личности. Источник: https://news.nashbryansk.ru ', 'Added by Raha', '1570402602', '1570429215.989103', '2019-10-07') INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES ('35', '1', 'http://bryansk-news.net/society/2019/10/07/37429.html', 'Брянская учительница собрала коллекцию необычных окон', 'Брянская учительница собрала коллекцию необычных окон Сегодня, 08:00 Ирина Новикова, педагог из города Унеча Брянской области, вооружилась фотоаппаратом и решила запечатлеть резные оконные ставни брянских домиков. У себя на странице ВКонтакте Ирина написала, что начало коллекции положила одна осенняя прогулка. Резных оконных ставней становится все меньше, даже в деревнях наличники заменяют пластиковыми окнами - констатирует Новикова. По ее мнению, это приводит к потери аутентичности, утрате традиций и культуры русского народа. Снимки окон можно посмотреть по ссылке. Источник: https://news.nashbryansk.ru ', 'Added by Raha', '1570402845', '1570429217.0539544', '2019-10-07')
INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES ('35', '1', 'http://bryansk-news.net/society/2019/10/07/37428.html', 'Брянцы поругались из-за «Джокера»', '| Общество Нешуточная полемика развернулась в социальных сетях из-за криминальной драмы «Джокер», которая на прошлой неделе вышла на большие экраны в Брянске. Пост этой ленте Тодда Филлипса посвятили в одной из брянских групп ВКонтакте. Посмотрели публикацию более 26 тысяч человек. Комментируют брянцы активно, однако единодушия в оценках нет. Одни называют «Джокера» шедевром, а Хоакина Феникса, исполнившего главную роль, — гением. Другие плюются, поскольку ожидали увидеть очередной попкорновый экшн, а не трагическую историю маленького человека. В итоге страсти накаляются. Кто-то свое мнение обосновывает, другие переходят на личности. Источник: https://news.nashbryansk.ru ', 'Added by Raha', '1570402602', '1570429215.989103', '2019-10-07') ('35', '1', 'http://bryansk-news.net/society/2019/10/07/37429.html', 'Брянская учительница собрала коллекцию необычных окон', 'Брянская учительница собрала коллекцию необычных окон Сегодня, 08:00 Ирина Новикова, педагог из города Унеча Брянской области, вооружилась фотоаппаратом и решила запечатлеть резные оконные ставни брянских домиков. У себя на странице ВКонтакте Ирина написала, что начало коллекции положила одна осенняя прогулка. Резных оконных ставней становится все меньше, даже в деревнях наличники заменяют пластиковыми окнами - констатирует Новикова. По ее мнению, это приводит к потери аутентичности, утрате традиций и культуры русского народа. Снимки окон можно посмотреть по ссылке. Источник: https://news.nashbryansk.ru ', 'Added by Raha', '1570402845', '1570429217.0539544', '2019-10-07')
Офлайн
27
В твоей же теме про insert py.user.next очень подробно, с примером, объяснил про executemany. Возьми это за основу и делай как посоветовали.
Офлайн
0
RafikЯ понял про этот совет,мне просто интересно провести некий “бенчмарк”
В твоей же теме про insert py.user.next очень подробно, с примером, объяснил про executemany. Возьми это за основу и делай как посоветовали.
Офлайн
27
Набросал на скорую руку. Возможно где-то и накосячил, но идея приблизительно такова:
# Это объявляется до цикла сбора данных sql = '''INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ''' list_values = [] # Здесь начинаем цикл сбора в список записей, т.е. вот это всё хозяйство собираем: list_values.append( ('35', '1', 'http://bryansk-news.net/society/2019/10/07/37428.html', 'Брянцы поругались из-за «Джокера»', 'бла-бла-бла', 'Added by Raha', '1570402602', '1570429215.989103', '2019-10-07') ) # Здесь для наглядности специально сделал пробел между скобками, относящимися к функции append и скобками кортежа. # Точно также, через append, добавляем следующий кортеж (запись) в список. # После цикла преобразуем список в кортеж таким макаром: values = tuple(list_values) # Вот теперь можно вызвать executemany вот таким способом: cursor.executemany(sql, values)
Отредактировано Rafik (Окт. 8, 2019 17:34:51)
Офлайн
0
Нашел решение.
Перед началом цикла создаю переменную с таким шаблоном запроса.
sql = '''INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES'''
sql += ''',('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')''' % ( res_id, log_id, str(resource_link), str(item_title), str(item_content), str(n_date), nd_date, s_date, not_date )
Офлайн