mysql - 通过 Jupyter Notebook w/Python3 访问 MySQL 数据库

标签 mysql python-3.x pandas jupyter-notebook

我需要通过 Jupyter Notebook 访问 MySQL 数据库,我在该笔记本上运行 Python 3.6(Anaconda 安装)。这是一个线性工作流程,从数据库中提取数据并在 Python/Pandas 中对其进行操作。不需要 ORM,一个简单的连接器就可以了。然而,广泛referenced MySQLdb 包不适用于 Python 3.x。

有哪些替代方案?

最佳答案

Ubuntu 上 Jupyter 的推荐安装方式是 Anaconda,因此合适的包管理器是 conda。笔记本无法访问通过 pip/pip3 或 apt 进行的安装。 conda 可以轻松获得至少两个良好的连接器:

  1. pymysql运行良好且易于安装:

sudo conda install pymysql

  • “官方”连接器:
  • sudo conda install mysql-connector-python

    我首先尝试了 pymysql,效果很好,但后来由于可用的广泛 documentation 切换到第二个选项.

    如果您的目标是将数据导入到 Pandas 数据框中,那么使用内置的 pd.sql_read_tablepd.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/

    相关文章:

    java - 位图图像不显示

    python - except 子句中的断点无权访问绑定(bind)异常

    python-3.x - Python 3.x 字典 lint 类型检查(打字)是否在实例化时设置

    python - 在 Python 中跨数据帧搜索并替换匹配值

    python - 将 Pandas DataFrame 切割成小块,并对每个 block 进行简单的计算

    javascript - PHP中通过http请求获取上传进度

    mysql - 我可以在 MySQL 中使用 "Hide"列吗?

    php - 如何使用 PHP 下载 2 个表格到 Excel 工作表

    python - 使用 numpy ndarray 计算平均值

    python - 将二元模型添加到 pandas 数据框中