Я пытаюсь добавить данные из фрейма данных pandas в существующую таблицу на сервере SQL, используя SQLAlchemy, а to_sql мучительно медленно, поэтому я ищу эффективное масштабируемое решение для ускорения этого процесса.Я видел несколько предложенных решений, хотя многие из них рекомендуют использовать массовую вставку, что возможно, но кадр данных не может храниться локально.Я пробовал другие решения, такие как fast_executemany безрезультатно.Любая помощь приветствуется.
def uploadToSQL(df, tablename, user, if_exists_behavior = 'append'):
try:
## Create connection to SQL
engine = sqla.create_engine(user)
print("establishing connection")
conn = engine.connect()
print("connection established")
df.to_sql(tablename, engine, if_exists=if_exists_behavior,
index=False, chunksize = 49)
print("table uploaded")
## close SQL connection
conn.close()
print("connection closed")
## since no failure return nothing
return None
Эта функция выполняет свою работу, но занимает много времени для кадра данных 16 000 x 6.