postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析
背景知識(shí)視頻教程
Python中使用Pandas教程 - 國(guó)外課棧?viadean.comPandas數(shù)據(jù)分析與探索 - 國(guó)外課棧?viadean.com如果您無(wú)法從外部環(huán)境直接訪問(wèn)數(shù)據(jù)庫(kù),則可能需要SSH隧道來(lái)查詢它。 在這篇文章中,我將向您展示如何通過(guò)SSH連接并查詢MySQL數(shù)據(jù)庫(kù)到Pandas數(shù)據(jù)框。 可以將相同的代碼應(yīng)用于連接到其他數(shù)據(jù)庫(kù),例如PostgreSQL。
假設(shè)您的數(shù)據(jù)庫(kù)托管在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進(jìn)入環(huán)境后,我們需要一個(gè)用戶名和密碼來(lái)連接到名為“數(shù)據(jù)庫(kù)”的數(shù)據(jù)庫(kù):
# database variables user='user' password='verysecurepassword' database='database'要將所有這些轉(zhuǎn)換為可以從Python代碼調(diào)用的一個(gè)函數(shù),我們可以使用sshtunnel軟件包,您可以使用pip獲得該軟件包:
pip install sshtunnel然后導(dǎo)入SSHTunnelForwarder,MySQLdb和pandas:
from sshtunnel import SSHTunnelForwarder import MySQLdb as db import pandas as pd要導(dǎo)入MySQLdb,您需要先安裝MySQL-python。您可以用Psycopg代替MySQLdb對(duì)PostgreSQL做同樣的事情。
備注:目前不推薦使用MySQLdb和Psycopg,出于介紹目的。推薦使用MySQL connector/Python和Psycopg2。
現(xiàn)在,我們將使用SSHTunnelForwarder創(chuàng)建一個(gè)隧道,連接到數(shù)據(jù)庫(kù),進(jìn)行查詢并以Pandas數(shù)據(jù)幀的形式返回結(jié)果。查詢后關(guān)閉連接和SSH隧道。
read_sql_query方便地將您的SQL查詢作為字符串以及剛剛建立的與數(shù)據(jù)庫(kù)的連接,并從表格數(shù)據(jù)中創(chuàng)建數(shù)據(jù)框。
現(xiàn)在,您可以簡(jiǎn)單地查詢數(shù)據(jù)庫(kù):
輸出:
MySQL connector/Python訪問(wèn)MySQL
Python使用Psycopg2訪問(wèn)PostgreSQL
構(gòu)建Python pandas基于SSH遠(yuǎn)程MySQL和PostgreSQL的數(shù)據(jù)分析?viadean.com總結(jié)
以上是生活随笔為你收集整理的postgresql 远程用户_构建Python pandas基于SSH远程MySQL和PostgreSQL的数据分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html5+实现图片自动切换,js图片自
- 下一篇: oracle clob截取_Oracle