300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析

postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析

时间:2019-11-17 19:54:53

相关推荐

postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析

背景知识视频教程

Python中使用Pandas教程 - 国外课栈​Pandas数据分析与探索 - 国外课栈​

如果您无法从外部环境直接访问数据库,则可能需要SSH隧道来查询它。 在这篇文章中,我将向您展示如何通过SSH连接并查询MySQL数据库到Pandas数据框。 可以将相同的代码应用于连接到其他数据库,例如PostgreSQL。

假设您的数据库托管在52.xx.xx.xx上,并且您具有以下用户和私钥:

# ssh variableshost = '52.xx.xx.xx'localhost = '127.0.0.1'ssh_username = 'ubuntu'ssh_private_key = '/path/to/key.pem'

SSH进入环境后,我们需要一个用户名和密码来连接到名为“数据库”的数据库:

# database variablesuser='user'password='verysecurepassword'database='database'

要将所有这些转换为可以从Python代码调用的一个函数,我们可以使用sshtunnel软件包,您可以使用pip获得该软件包:

pip install sshtunnel

然后导入SSHTunnelForwarder,MySQLdb和pandas:

from sshtunnel import SSHTunnelForwarderimport MySQLdb as dbimport pandas as pd

要导入MySQLdb,您需要先安装MySQL-python。您可以用Psycopg代替MySQLdb对PostgreSQL做同样的事情。

备注:目前不推荐使用MySQLdb和Psycopg,出于介绍目的。推荐使用MySQL connector/Python和Psycopg2。

现在,我们将使用SSHTunnelForwarder创建一个隧道,连接到数据库,进行查询并以Pandas数据帧的形式返回结果。查询后关闭连接和SSH隧道。

read_sql_query方便地将您的SQL查询作为字符串以及刚刚建立的与数据库的连接,并从表格数据中创建数据框。

现在,您可以简单地查询数据库:

输出:

MySQL connector/Python访问MySQL

Python使用Psycopg2访问PostgreSQL

构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析​

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。