Heim >Datenbank >MySQL-Tutorial >Wie schreibe ich Pandas DataFrames mit der „to_sql'-Methode von SQLAlchemy in MySQL?
Schreiben von Pandas-Datenrahmen in MySQL mit der to_sql-Methode von SQLAlchemy
Diese Frage befasst sich mit der Herausforderung, einen Pandas-Datenrahmen mit der to_sql-Methode von SQLAlchemy in eine MySQL-Tabelle zu schreiben Verfahren. Der Benutzer ist beim Versuch, die veraltete Syntax „flavor='mysql“ zu verwenden, auf Fehler gestoßen und wollte auf die Verwendung einer SQLAlchemy-Engine umsteigen.
Der richtige Ansatz besteht darin, die Funktion „create_engine“ von SQLAlchemy zu verwenden, um eine Verbindung herzustellen die MySQL-Datenbank mithilfe des MySQL-MySQLConnector-Dialekts. Diese Verbindung sollte dann als con-Parameter an die to_sql-Methode übergeben werden.
import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Anfangs versuchte der Benutzer, die Methode raw_connection() zu verwenden, um eine Verbindung herzustellen, was jedoch zu einem Fehler führte, der auf einen Versuch hinwies SQLite anstelle von MySQL verwenden. Durch die direkte Angabe des Engine-Objekts als Con-Argument wurde das Problem behoben.
import pandas as pd from sqlalchemy import create_engine data.to_sql(name='sample_table2', con=engine, if_exists='append', index=False)
Der Benutzer stieß auch auf einen AttributeError, als er versuchte, die Engine als Con-Argument zu übergeben, da dem Engine-Objekt ein Cursor-Attribut fehlt. Durch die Verwendung der Funktion „create_engine“ zum Herstellen der MySQL-Verbindung wird das entsprechende Verbindungsobjekt bereitgestellt, sodass die to_sql-Methode erfolgreich ausgeführt werden kann.
Das obige ist der detaillierte Inhalt vonWie schreibe ich Pandas DataFrames mit der „to_sql'-Methode von SQLAlchemy in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!