inserção básica em massa de pyodbc

Em um script python, preciso executar uma consulta em uma fonte de dados e inserir cada linha dessa consulta em uma tabela em uma fonte de dados diferente. Normalmente, eu faria isso com uma única instrução insert / select com uma associação ao servidor vinculado ao tsql, mas não tenho uma conexão de servidor vinculado a essa fonte de dados específica.

Estou tendo problemas para encontrar um exemplo simples do pyodbc. Aqui está como eu faria isso, mas acho que a execução de uma instrução de inserção dentro de um loop é bem lenta.

result = ds1Cursor.execute(selectSql)

for row in result:
    insertSql = "insert into TableName (Col1, Col2, Col3) values (?, ?, ?)"
    ds2Cursor.execute(insertSql, row[0], row[1], row[2])
    ds2Cursor.commit()

Existe uma maneira melhor em massa de inserir registros com o pyodbc? Ou essa é uma maneira relativamente eficiente de fazer isso de qualquer maneira. Estou usando o SqlServer 2012 e as últimas versões pyodbc e python.

questionAnswers(2)

yourAnswerToTheQuestion