多くの異なる列を持つpandasデータフレームがあり、特定の列をmySQLデータベースに挿入することができます。python3を使ったPandas dataframe to_sqlメソッド
私はそうする方法がそうのようなto_sqlを使用することをドキュメントから理解:私はのpython3でこれを実行すると
import pandas as pd
import mysql.connector
from sqlalchemy import create_engine
engine = create_engine(db)
data.to_sql(name='dbtable', con=engine, if_exists = 'append', index=False)
しかし、私は次はImportErrorを取得しています:
Traceback (most recent call last):
File "myfile.py", line 130, in <module>
engine = create_engine('mysql+mysqlconnector://user:[email protected]:port/db')
File "/home/pohzihow/.local/lib/python3.5/site-packages/sqlalchemy/engine/__init__.py", line 387, in create_engine
return strategy.create(*args, **kwargs)
File "/home/pohzihow/.local/lib/python3.5/site-packages/sqlalchemy/engine/strategies.py", line 80, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/home/pohzihow/.local/lib/python3.5/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 110, in dbapi
return __import__('MySQLdb')
ImportError: No module named 'MySQLdb'
調査をしたところ、実際にはmySQLdb does not support python3が見つかりましたが、pandasのドキュメントによると、データベースに接続するにはSQLAlchemyエンジンが必要です。
python3を使用して私のpandasデータフレームをmySQLデータベースに直接出力する方法はありますか?
SQLAlchemyの異なるMySQLのDBAPIsをサポートしている、[ドキュメントに】記載されているように(http://docs.sqlalchemy.org/en/rel_1_1/dialects/mysql.html)。そこに記載されているAPIのいずれかを試してみてください。 –
こんにちは@クリストフ、コメントいただきありがとうございます。私はそれをmysql-connectorドライバで動作させることができました。私はそれを受け入れることができるように答えとしてあなたのコメントを投稿したいですか? –