Opdatering:
Der er nu en to_sql
metode, som er den foretrukne måde at gøre dette på, i stedet for write_frame
:
df.to_sql(con=con, name='table_name_for_df', if_exists='replace', flavor='mysql')
Bemærk også:syntaksen kan ændre sig i pandas 0.14...
Du kan konfigurere forbindelsen med MySQLdb :
from pandas.io import sql
import MySQLdb
con = MySQLdb.connect() # may need to add some other options to connect
Indstilling af flavor
af write_frame
til 'mysql'
betyder, at du kan skrive til mysql:
sql.write_frame(df, con=con, name='table_name_for_df',
if_exists='replace', flavor='mysql')
Argumentet if_exists
fortæller pandaer, hvordan de skal håndtere, hvis bordet allerede eksisterer:
if_exists: {'fail', 'replace', 'append'}
, standard 'fail'
fail
:Hvis der findes en tabel, skal du ikke gøre noget.
replace
:Hvis en tabel findes, skal du slippe den, genskabe den og indsætte data.
append
:Hvis der findes en tabel, indsæt data. Opret hvis ikke findes.
Selvom write_frame
dokumenter
foreslår i øjeblikket, at det kun virker på sqlite, mysql ser ud til at være understøttet, og faktisk er der en del mysql-test i kodebasen
.