2017-06-01 85 views
0

我需要从服务器获取文件,然后将它们写入数据库。 我使用:尝试使用pysftp获取文件时无法获得

with pysftp.Connection(host, username=username, password=password, cnopts=cnopts) as sftp: 
    sftp.chdir('path') 
    all_files = [file_name for file_name in sftp.listdir() if 'access' in file_name] 
    today_log = all_files[0] 
    all_files = all_files[1:] 
    df = df.append(sftp.get(str(today_log))) 

但它返回None。 如何从文件中获取内容并将其写入数据框?

+0

什么返回'None'? – martineau

+0

@martineau文件的内容是空的,它返回'None',但它不会清空。我需要读取并添加到数据框 –

+0

'all_files'的值是什么? – errata

回答

0

如果我正确理解你的问题,你想从SFTP服务器读取文件到一个变量/内存。

对于这一点,你需要使用.getfo,如:

flo = BytesIO() 
sftp.getfo(remotepath, flo) 

或者,直接使用的paramiko库(不pysftp包装)。
参见Read a file from server with ssh using python

相关问题