大数据-玩转数据-Python Sftp Mysql 数据

一、需求描述

1、从Mysql数据库表下载数据到服务器;
2、将数据已csv文件格式存储并对数据格式进行处理(添加表头,表头和数据均用竖线分隔符隔开,末尾也加分割符);
3、文件路径文件夹以天为单位,文件名中含日期和序号,序号记录相同文件在同一天重新下载传送的批次;
3、将文件压缩成.gz格式;
4、文件以Sftp方式传送到对方服务器固定位置。

二、Python 全代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import paramiko,csv
import os, sys, stat
import pymysql
import time, gzip


def create_dir(sftp, sftpRemoteDir):
    try:
        if stat.S_ISDIR(sftp.stat(sftpRemoteDir).st_mode):
            pass
    except Exception as e:
        sftp.mkdir(sftpRemoteDir)


def sftp_upload(sftp, sftpLocalDir, sftpRemoteDir):
    if os.path.isdir(sftpLocalDir):
        for file in os.listdir(sftpLocalDir):
            remoteDirTmp = os.path.join(sftpRemoteDir, file)
            localDirTmp = os.path.join(sftpLocalDir, file)
            if os.path.isdir(localDirTmp):
                create_dir(sftp, remoteDirTmp)
            sftp_upload(sftp, localDirTmp, remoteDirTmp)
    else:
        print("upload file:",

你可能感兴趣的:(大数据,python,mysql)