Я настраиваю новый компьютер на работе, и после установки anaconda и других различных пакетов, которые у меня есть на моем другом компьютере, я пытаюсь запустить некоторый код, который отлично работает на моем другом компьютере.
Однако при попытке использовать SQLalchemy для импорта в красное смещение я получаю новую ошибку, которую не могу найти через google:
У объекта 'SQLTable' нет атрибута 'insert_statement'
это похоже на некоторую проблему с padas.io.sql, но я понятия не имею, что
здесь блок кода:
import io
from pandas.io.sql import SQLTable
def _execute_insert(self, conn, keys, data_iter):
print("Using monkey-patched _execute_insert")
data = [dict((k, v) for k, v in zip(keys, row)) for row in data_iter]
conn.execute(self.insert_statement().values(data))
SQLTable._execute_insert = _execute_insert
import pandas as pd
from sqlalchemy import create_engine
from sqlalchemy import text
dbschema='xref'
engine = create_engine('not_showing_you_this_part',
connect_args={'options': '-csearch_path={}'.format(dbschema)})
# test
from sqlalchemy import event, create_engine
@event.listens_for(engine, 'before_cursor_execute')
def receive_before_cursor_execute(conn, cursor, statement, params, context, executemany):
if executemany:
cursor.fast_executemany = True
cursor.commit()
# end test
api_start_time = time.time()
print('starting SQL query')
# change yh to the dataframe you want to upload
# under name = : enter in the name of the table you want to create or append to
df.to_sql(name='computer_test', con = engine, if_exists = 'append',index=False)
print('sql insert took: ' + str((time.time() - api_start_time)) + ' seconds')
для справки,Часть обезьяны-патча от: Как ускорить вставку из pandas.DataFrame .to_sql
полная ошибка в изображении