Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Stored Procedure, Panda e Usa multi=True quando si eseguono più istruzioni

Spero che questo sarà di qualche aiuto. Utilizzando alcuni suggerimenti concettuali da qui e un piccolo tentativo/errore, sono stato in grado di farlo funzionare 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'])

Questo ha funzionato perfettamente per me... Spero che lo sia anche per te.