利用跳板機連線mysql,匯出資料到csv
需求:
資料庫裡有很多店鋪的點位(經緯度)資訊,大概有900多萬條。現在需要將這900多萬條店鋪資料按照省份的欄位匯出,一共有34個省份。
其實人工可解,直接sql,按照省份匯出就行,當時我就是這麼做的,因為還沒接觸pandas哈哈。現在記錄一下,以後就不需要人肉儲存資料啦。
實現:
1.因為是外網環境,所以要用到跳板機連線
2.通過pandas迴圈匯出資料到不同問價。
用到的庫:
pandas,pymysql,sshtunnel
注意點:
使用TUNNEL.start() 之後一定要用TUNNEL.close(),否則這個執行緒會一直掛著。好像前段時間還因為這個坑了一下同事!
程式碼如下:
import pandas as pd
import pymysql
from sshtunnel import SSHTunnelForwarder
#通過查詢資料庫資料,匯出excel表
TUNNEL = SSHTunnelForwarder(("111.111.111.111", 1111), #跳板機的地址,埠
ssh_username="abcd", #跳板機使用者名稱
ssh_password="abcd", #跳板機訪問密碼
remote_bind_address=("172.11.11.11", 3306)) #目標資料庫地址&埠
TUNNEL.start()
conn = pymysql.connect(host='127.0.0.1',
port=TUNNEL.local_bind_port, #預設必填
user="111", #資料庫使用者名稱
password="11111",#資料庫密碼
database="1111") #資料庫名
#將所有省份放在陣列中,因為已經導好了,就隨便整兩三個
pl = ['山西省','江西省','河南省']
sql = "SELECT name,ADDRESS,lng,lat,pname,city_name from location WHERE pname='%s'"
#pandas匯入mysql資料
for p in pl:
sql1 = sql % p
print(sql1)
a = pd.read_sql(sql1,conn)
f = 'E:\\爬蟲\\pandas\\%s.csv' % p
print(f,'資料生成中')
a.to_csv(f,index=False,encoding='utf_8_sig')
conn.close()
TUNNEL.close()
相關文章
- 通過跳板機連線MySQLMySql
- waterdrop匯出hdfs資料到clickhouse(text,csv,json)JSON
- SQLServer匯出匯入資料到MySQLServerMySql
- MySQL匯出資料為csv的方法MySql
- MySQL 匯出資料為csv格式的方法MySql
- spark sql與mysql 資料載入與匯出資料到mysqlSparkMySql
- 匯出csv
- SSH 透過跳板機連線目標機
- Sqoop匯出ClickHouse資料到HiveOOPHive
- Python批量匯入Excel資料到MySQLPythonExcelMySql
- 匯出資料為csv格式
- JavaScript 匯出csvJavaScript
- 利用Excel匯入資料到SAP C4CExcel
- 從CSV檔案匯入資料到Analytics Cloud裡建立模型和StoryCloud模型
- Vue匯出資料到Excel電子表格VueExcel
- linux 下MySQL命令列匯出csv檔案格式LinuxMySql命令列
- php匯出csv格式PHP
- Mysql匯入csv檔案MySql
- PHP 匯出大資料 CSV 檔案PHP大資料
- ServiceNow如何匯出豎線分割的CSV檔案?
- Colab pydrive 匯入匯出csv(pandas)
- java匯出CSV檔案Java
- 使用mysql直接匯出資料為txt或csv時使用-q引數MySql
- 使用csv批量匯入、匯出資料的需求處理
- C#快速匯出百萬級資料到Excel方法C#Excel
- 遠端伺服器連線(金鑰驗證,跳板機)伺服器
- Laravel-admin 自定義csv匯出,支援原有匯出csv的所有功能,匯出所有資料使用分頁查詢處理Laravel
- vue element ui excel json2csv csv 匯出VueUIExcelJSON
- PHP 匯出 CSV 格式檔案PHP
- mysql匯出資料MySql
- magento2 後臺資料展示+csv匯出
- MongoDB日常運維-07遠端匯出資料到execlMongoDB運維
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- SQLite3 匯出 CSV 檔案SQLite
- PHP匯出大量資料,儲存為CSV檔案PHP
- 如何批次匯出地圖上商家店鋪資料到手機電腦excel表格地圖Excel
- MySQL資料的匯出MySql
- Mysql 資料庫匯入與匯出MySql資料庫