2016-08-09 40 views
1

ich diesen Code haben und wollen, dass alle Daten in den Datenrahmen zu mysql lesen und einfügen, aber ich bin immer diese Fehlermeldung:Laden Datenrahmen in R zu mysql Programmierung

Error in (function (classes, fdef, mtable) : 
    unable to find an inherited method for function ‘dbWriteTable’ for signature ‘"MySQLConnection", "character", "tbl_myr"’ 

Meine Datenbank ist und running und df1 sind meine Daten, die ich einfügen möchte. Gibt es irgendetwas, was ich falsch mache?

> mydb = dbConnect(MySQL(), user='test', password='passwd', dbname='test_db', host='192.168.1.77') 
> dbWriteTable(mydb, value =df1, name ="test_db.myr" , row.names = F , append = T , overwrite = F) 

Vielen Dank für Ihre Hilfe.

+0

Was zeigt dir 'class (df1)'? –

+0

Typing? Klasse (DF1) druckt nichts ... es zeigt mir nur Dokumentation über Klasse in der Registerkarte Hilfe auf RStudio –

+0

Das ist seltsam. R sollte Ihnen sagen, dass 'df1' ein Datenrahmen ist. Das heißt, ist "df1" eigentlich ein Datenrahmen? –

Antwort

0

Das Problem ist, dass Sie Ihre Daten als Datenrahmen namens mydata einlesen. So sollte Ihr Code zum Importieren der Daten in SQL sollte sein:

mydb = dbConnect(MySQL(), user='test', password='passwd', dbname='test_db', host='192.168.1.77') 
# NOTICE that value = df1 CHANGED to value = mydata since your data frame is actually named mydata. 
dbWriteTable(mydb, value = mydata, name ="test_db.myr" , row.names = F , append = T , overwrite = F) 

laufende Klasse (Mydata) sollte in data.frame führen.

+0

Ich denke, ich weiß, was das Problem sein könnte. Obwohl ich in der Lage war, eine Excel-Datei zu laden - und es auf RStudio abzufragen, war es eigentlich kein Datenrahmen. Das Umbenennen der Datei auf meinem Desktop von .xlsx nach csv war alles was es brauchte. Was ist, wenn ich ein Excel zu einem Datenrahmen machen möchte? Wie funktioniert das? –