构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析 二维码
142
背景知识视频教程如果您无法从外部环境直接访问数据库,则可能需要SSH隧道来查询它。 在这篇文章中,我将向您展示如何通过SSH连接并查询MySQL数据库到Pandas数据框。 可以将相同的代码应用于连接到其他数据库,例如PostgreSQL。 假设您的数据库托管在52.xx.xx.xx上,并且您具有以下用户和私钥:
SSH进入环境后,我们需要一个用户名和密码来连接到名为“数据库”的数据库:
要将所有这些转换为可以从Python代码调用的一个函数,我们可以使用sshtunnel软件包,您可以使用pip获得该软件包:
然后导入SSHTunnelForwarder,MySQLdb和pandas:
要导入MySQLdb,您需要先安装MySQL-python。您可以用Psycopg代替MySQLdb对PostgreSQL做同样的事情。 备注:目前不推荐使用MySQLdb和Psycopg,出于介绍目的。推荐使用MySQL connector/Python和Psycopg2。 现在,我们将使用SSHTunnelForwarder创建一个隧道,连接到数据库,进行查询并以Pandas数据帧的形式返回结果。查询后关闭连接和SSH隧道。
read_sql_query方便地将您的SQL查询作为字符串以及刚刚建立的与数据库的连接,并从表格数据中创建数据框。 现在,您可以简单地查询数据库:
输出: MySQL connector/Python访问MySQLPython使用Psycopg2访问PostgreSQL |