需求:
数据库里有很多店铺的点位(经纬度)信息,大概有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, #默认必填

这篇博客介绍了如何通过跳板机连接到外网环境的mysql数据库,利用pandas和sshtunnel库,循环导出900多万条店铺的点位信息,按省份字段生成34个csv文件,避免了人工操作。文中强调了使用TUNNEL.start()后必须调用TUNNEL.close()来关闭连接,以防线程悬挂问题。
最低0.47元/天 解锁文章
31万+

被折叠的 条评论
为什么被折叠?



