我需要通过 Jupyter Notebook 访问 MySQL 数据库,我在该笔记本上运行 Python 3.6(Anaconda 安装)。这是一个线性工作流程,从数据库中提取数据并在 Python/Pandas 中对其进行操作。不需要 ORM,一个简单的连接器就可以了。然而,广泛referenced MySQLdb 包不适用于 Python 3.x。
有哪些替代方案?
最佳答案
Ubuntu 上 Jupyter 的推荐安装方式是 Anaconda,因此合适的包管理器是 conda。笔记本无法访问通过 pip/pip3 或 apt 进行的安装。 conda 可以轻松获得至少两个良好的连接器:
- pymysql运行良好且易于安装:
sudo conda install pymysql
- “官方”连接器:
sudo conda install mysql-connector-python
我首先尝试了 pymysql,效果很好,但后来由于可用的广泛 documentation 切换到第二个选项.
如果您的目标是将数据导入到 Pandas 数据框中,那么使用内置的 pd.sql_read_table
或 pd.sql_read_query
会很方便,因为它标记了列等。如上所述,它仍然需要安装连接器。
MySQL-connector-python 的示例,您需要输入数据库详细信息:
将 pandas 导入为 pd
导入 SQLAlchemy
引擎 = sqlalchemy.create_engine('mysql+mysqlconnector://USER:PASSWORD@HOST/DB_NAME')
example_df = pd.read_sql_table("YOUR_TABLE_NAME", 引擎)
关于mysql - 通过 Jupyter Notebook w/Python3 访问 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359627/