Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Procedimentos armazenados do MySQL, Pandas e Use multi=True ao executar várias instruções


Espero que isso seja de alguma ajuda. Usando alguns ponteiros de conceito aqui , e um pouco de tentativa/erro, consegui fazer isso funcionar usando mysql.connector e pandas .
# CONNECT TO DB AND GET CURSOR OBJECT
conn = <do db connecty stuff>
cur = conn.cursor()

# CALL THE STORED PROCEDURE
cur.callproc('stored_proc_name', ['my', 'usp', 'parameters'])

# EXTRACT RESULTS FROM CURSOR
for i in cur.stored_results(): results = i.fetchall()

# LOAD INTO A DATAFRAME
df = pd.DataFrame(results, columns=['my', 'column', 'headers'])

Isso funcionou perfeitamente para mim... Espero que funcione para você também.