inserto básico a granel pyodbc

En un script de Python, necesito ejecutar una consulta en una fuente de datos e insertar cada fila de esa consulta en una tabla en una fuente de datos diferente. Normalmente haría esto con una sola instrucción de inserción / selección con una unión de servidor vinculada tsql pero no tengo una conexión de servidor vinculada a esta fuente de datos en particular.

Tengo problemas para encontrar un ejemplo simple de pyodbc de esto. Así es como lo haría, pero supongo que ejecutar una declaración de inserción dentro de un bucle es bastante lento.

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()

¿Hay una mejor forma masiva de insertar registros con pyodbc? ¿O es esta una forma relativamente eficiente de hacer esto de todos modos? Estoy usando SqlServer 2012 y las últimas versiones de pyodbc y python.

Respuestas a la pregunta(2)

Su respuesta a la pregunta