python вставить несколько строк из фрейма данных в mysql - PullRequest
0 голосов
/ 27 мая 2020

Я работаю над устаревшим кодом django, в котором используются необработанные запросы.

Здесь выполняется итерация каждой строки из фрейма данных, и insert оператор создается для каждой строки и фиксируется.

В дополнение к данным из фрейма данных мне также нужно добавить другие дополнительные данные для вставки, поэтому я не могу напрямую использовать некоторые .to_sql методы и должен их повторять.

from django.db import connections

# Insert DataFrame recrds one by one.

with connections['frontend'].cursor() as cursor:
    ad_blog = 'STATIC_BLOG_TEXT'
    ad_by = 'STATIC_BLOG_INTEGER'

    for i,row in data.iterrows():
        sql = "INSERT INTO book_details (`df_name`, `df_title`, `ad_blog`, `ad_by`) VALUES ('" + row[0] + "', '" + row[1] + "', '" + ad_blog + "', '" + ad_by + "' )"
        cursor.execute(sql)
        connection.commit()

Поскольку набор данных сейчас вырос в почти миллион строк, это может замедлить выполнение задачи.

Как создать массовую вставку? Есть ли какая-нибудь опция multi=True, которая упрощает массовую вставку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...