1

我需要从服务器获取文件,然后将它们写入数据库。我用:

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。如何从文件中获取内容并将其写入数据框?

4

1 回答 1

1

如果我正确理解您的问题,您希望将文件从 SFTP 服务器读取到变量/内存中。

为此,您需要使用.getfo,例如:

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

或者,直接使用 Paramiko 库(不使用 pysftp 包装器)。
参阅使用 python 使用 ssh 从服务器读取文件

于 2017-06-02T05:34:15.137 回答