我有一個熊貓數據框與許多不同的列,並希望插入特定的列到MySQL數據庫。熊貓dataframe to_sql方法與python3
我從文檔中瞭解到,這樣做的方法是使用to_sql像這樣:
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)
然而,當我在python3運行它,我得到以下導入錯誤:
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,但熊貓文檔說它需要SQLAlchemy引擎連接到數據庫。
有沒有一種方法可以直接使用python3將我的熊貓數據框輸出到mySQL數據庫中?
SQLAlchemy支持不同的mySQL DBAPI,如[文檔]中所述(http://docs.sqlalchemy.org/en/rel_1_1/dialects/mysql.html)。嘗試使用其中列出的API之一。 –
嗨@Kristof,謝謝你的評論。我設法讓它與mysql連接器驅動程序一起工作。你想發表你的評論作爲答案,以便我可以接受嗎? –