私はPython Pandas DataframeをMySQLデータベースに書き込もうとしています。私はsqlalchemy for thisを使用することが可能であることを認識していますが、Pandasに組み込むのが簡単な別の方法があるのだろうかと思います。私はかなりの時間をForループでやろうとしましたが、それは実現不可能です。Pandas DataframeをMySQLに書き込む
誰かがより良い方法を知っていれば、非常に感謝しています。
ありがとうございます!
私はPython Pandas DataframeをMySQLデータベースに書き込もうとしています。私はsqlalchemy for thisを使用することが可能であることを認識していますが、Pandasに組み込むのが簡単な別の方法があるのだろうかと思います。私はかなりの時間をForループでやろうとしましたが、それは実現不可能です。Pandas DataframeをMySQLに書き込む
誰かがより良い方法を知っていれば、非常に感謝しています。
ありがとうございます!
SQLAlchemyのに他の選択肢は0.18.1ドキュメントがまだアクティブであるパンダ to_sqlが、廃止されます解放将来ではなく、今のバージョンでを使用することができます。
パンダのドキュメントpandas.DataFrame.to_sqlによると、あなたは、次の構文を使用することができます:あなたは 'mysqlの'コンタイプ/モードと風味を指定
DataFrame.to_sql(name, con, flavor='sqlite', schema=None, if_exists='fail', index=True, index_label=None, chunksize=None, dtype=None)
を、ここにいくつかの説明です:
con:SQLAlchemyエンジンまたはDBAPI2接続(レガシーモード) SQLAlchemyを使用すると、そのライブラリでサポートされているすべてのDBを使用できます。 DBAPI2オブジェクトの場合は、sqlite3のみがサポートされます。
フレーバー:{'sqlite'、 'mysql'}、デフォルト 'sqlite' SQLのフレーバーは になります。 SQLAlchemyエンジンを使用している場合は無視されます。 'mysql'は廃止され、 は将来のバージョンでは削除されますが、SQLAlchemyエンジンを通じてさらに がサポートされます。
あなたはpymysqlを使用することによってそれを行うことができます。たとえば
、あなたは次のユーザー、パスワード、ホストとポートを持つMySQLデータベースを持っていて、データベース「DATA_2」に書きたいとしましょう。あなたは、データベースがを作成していない場合は、データベースが既に存在する場合にも、有効な
conn = pymysql.connect(host=host,
port=port,
user=user,
passwd=passw,
db=database,
charset='utf8')
data.to_sql(name=database, con=conn, if_exists = 'replace', index=False, flavor = 'mysql')
:
conn = pymysql.connect(host=host, port=port, user=user, passwd=passw)
conn.cursor().execute("CREATE DATABASE IF NOT EXISTS {0} ".format(database))
conn = pymysql.connect(host=host,
port=port,
user=user,
passwd=passw,
db=database,
charset='utf8')
data.to_sql(name=database, con=conn, if_exists = 'replace', index=False, flavor = 'mysql')
import pymysql
user = 'root'
passw = 'my-secret-pw-for-mysql-12ud'
host = '172.17.0.2'
port = 3306
database = 'data_2'
は、データベースがを作成し、あなたが既に持っている場合は
似たスレッド:
to_sql方法http://stackoverflow.com/a/16477603/2027457又はhttp://pandas.pydata.org/pandas-docs/stable/generated/pandas。 DataFrame.to_sql.html – sb0709
to_sqlメソッドが役に立ちます。 ただし、SQLAlchemyの方が非難されるようです。 FutureWarning:DBAPI接続の 'mysql'フレーバーは廃止され、今後のバージョンでは削除される予定です。 MySQLはSQLAlchemy接続可能なものでさらにサポートされます。 chunkksize = chunksize、dtype = dtype) –
これまでのところまだアクティブですので、少し時間がかかりますし、あなたがパンダをアップグレードしていない場合は動作しているはずです。答えを投稿する。 – sb0709