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

背景知识视频教程

Python中使用Pandas教程 - 国外课栈​viadean.com
v2-5466796be9e951c1d2c40c6bf955030a_180x120.jpg
Pandas数据分析与探索 - 国外课栈​viadean.com
v2-4055ad60fe28ff5ac7dcd0eb122b51fc_ipico.jpg

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

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

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

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

# database variables
user='user'
password='verysecurepassword'
database='database'

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

pip install sshtunnel

然后导入SSHTunnelForwarder,MySQLdb和pandas:

from sshtunnel import SSHTunnelForwarder
import MySQLdb as db
import 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的数据分析​viadean.com
v2-03592f3e9d370b213822f8493911a26e_180x120.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值