python 读取csv中的文件,从sftp下载文件
需要从sftp上下载一些图片文件,文件名存放在一个csv文件中。代码如下:
# -*- coding:utf-8 -*-
import paramiko
import csv
import os def sft_download_all(host,port,username,password):
sf = paramiko.Transport((host,port))
sf.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(sf) csv_reader1=csv.reader(open(r'D:\数据处理\photo.csv',encoding='utf-8'))
for row in csv_reader1:
remote=row[2]
filename=row[1]
localfile='D:\\训练数据\\all\\'+filename
try:
if sftp.stat(remote) and (not os.path.exists(localfile)):
print("download:"+remote)
sftp.get(remote,localfile)
except Exception as e:
print('出错跳过:file='+remote+' exception:',e)
continue
print("全部数据下载完毕!") def sftp_download(host,port,username,password):
sf = paramiko.Transport((host,port))
sf.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(sf) csv_reader1=csv.reader(open(r'D:\数据处理\系安全带的.csv',encoding='utf-8'))
for row in csv_reader1:
remote=row[4]
filename= os.path.basename(remote)
localfile='D:\\训练数据\\hasbelt\\'+filename
try:
if sftp.stat(remote) and (not os.path.exists(localfile)):
print("download:"+remote)
sftp.get(remote,localfile)
except Exception as e:
print('出错跳过:file='+remote+' exception:',e)
continue
print("通过数据下载完毕!") csv_reader2=csv.reader(open(r'D:\数据处理\没系安全带.csv',encoding='utf-8'))
for row in csv_reader2:
remote=row[4]
filename= os.path.basename(remote)
localfile='D:\\训练数据\\beltno\\'+filename
try:
if sftp.stat(remote) and (not os.path.exists(localfile)):
print("download:"+remote)
sftp.get(remote,localfile)
except Exception as e:
print('出错跳过:file='+remote+' exception:',e)
continue
print("不通过数据下载完毕!")
sf.close() if __name__ == '__main__':
host = '172.16.207.21'#主机
port = 22 #端口
username = 'root' #用户名
password = 'data' #密码
sftp_download(host,port,username,password)#下载
#sft_download_all(host,port,username,password)
python 读取csv中的文件,从sftp下载文件的更多相关文章
- python读取csv,Excel,Txt,Yaml 文件
1.数据 1.Csv login.csv文件: byhy,88888888 ReadCsv.py文件 import csv #导入csv包 class ReadCsv(): def csv(self) ...
- ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中
# -*- coding: utf-8 -*- import math import re import csv import repr def ean_checksum(eancode): &quo ...
- Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal multibyte sequence
Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal mul ...
- Python读取excel中的图片
作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...
- 【Python】Python 读取csv的某行或某列数据
Python 读取csv的某行 转载 2016年08月30日 21:01:44 标签: python / csv / 数据 站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Gith ...
- python读取excel中单元格的内容返回的5种类型
(1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...
- python读取csv转换为dataframe
前言: 由于在处理结构性数据的时候经常会读取本地形如:.xls.xlsx.csv等的数据.所以今天就花了点时间来总结一下利用python读取csv数据并且转换为dataframe的数据框架.话不多说, ...
- Python 实现批量从不同的Linux服务器下载文件
基于Python实现批量从不同的Linux服务器下载文件 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/file_for_downl ...
- Python 读取csv文件到excel
朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...
随机推荐
- Linux grep/egrep命令详解
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2. grep的规则表达式( ...
- 如何创建一个Quartz.NET的工作,需要注射autofac
问题: 使用 Quartz.Net 做定时任务时,实现IJob对象的服务,Autofac不会自动注入,使用构造函数会直接出现异常,无法执行Execute方法. 解决方式 方法一: 使用 Autofac ...
- 微信小程序websocket
微信小程序websocket 微信小程序带有websocket可以提供使用,但是官方文档写的东西很少,而且小程序后台能力弱这一点也是十分的坑爹,这就导致了socket长连接一切后台就会出现断开的情况, ...
- linux块设备缓存bcache
1 Bcache介绍Bcache是一种缓存技术,它是根据SSD的特性设计的,由于SSD的随机读写速度要比普通硬盘的随机读写快N多倍,但是一般SSD的容量小且贵,当然土豪除外,所以我们可以综合SSD的读 ...
- numpy的操作
import numpy as np ######################## # 索引 n1 = np.random.randint(0, 100, 10) # print(n1) ''' ...
- 【2015蓝桥杯省赛】C++ B组试题
1.奖券数目 作答:52488,正确 #include <iostream> using namespace std; bool check(int x) { ] = { }; while ...
- swoole_table测试
public function test() { $count = []; $count[] = ['key' => 'name', 'type' => ...
- R执行报错:Error in `[<-.ts`(`*tmp*`,...only replacement of elements is allowed
原因: pred$mean是Time-Series类型,rbind函数不支持.通过as.double将其转换成double类型即可. 修改前代码: all_predata_time <- dat ...
- Kafka设计解析(二)Kafka High Availability (上)
转载自 技术世界,原文链接 Kafka设计解析(二)- Kafka High Availability (上) Kafka从0.8版本开始提供High Availability机制,从而提高了系统可用 ...
- vue组件懒加载(Load On Demand)
在Web应用程序中,系统的瓶颈常在于系统的响应速度.如果系统响应速度过慢,用户就会出现埋怨情绪,系统的价值也因此会大打折扣.因此,提高系统响应速度,是非常重要的. 懒加载(Load On Demand ...