尝试使用pysftp获取文件时无法获得
问题描述:
我需要从服务器获取文件,然后将它们写入数据库。 我使用:尝试使用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
。 如何从文件中获取内容并将其写入数据框?
答
如果我正确理解你的问题,你想从SFTP服务器读取文件到一个变量/内存。
对于这一点,你需要使用.getfo
,如:
flo = BytesIO()
sftp.getfo(remotepath, flo)
或者,直接使用的paramiko库(不pysftp包装)。
参见Read a file from server with ssh using python。
什么返回'None'? – martineau
@martineau文件的内容是空的,它返回'None',但它不会清空。我需要读取并添加到数据框 –
'all_files'的值是什么? – errata