python 如何读取 ftp 目录中的最新文件

python how to read latest file in ftp directory

我正在使用此代码从 ftp 获取最后一个 xlsx 文件。

import pandas as pd
import ftplib


ftp = ftplib.FTP('ftpname.com', 'client','mdp')
ftp.retrlines('LIST')
ftp.cwd("/DATA")

names = ftp.nlst()

latest_time = None
latest_name = None

for name in names:
    time = ftp.sendcmd("MDTM " + name)
    if (latest_time is None) or (time > latest_time):
        latest_name = name
        latest_time = time

print(latest_name)

目前我只能获取字符串形式的文件名,但无法将其作为数据帧读取或将 xlsx 文件从服务器上传到本地计算机。

我认为这个问题与 python 没有任何关系:您只需要像使用任何其他 FTP 客户端获取文件一样获取文件:

for name in names:
    time = ftp.sendcmd("MDTM " + name)
    if (latest_time is None) or (time > latest_time):
        latest_name = name
        latest_time = time

with open("myfile.xlsx", "wb") as f:
    ftp.retrbinary(f"RETR {latest_name}", f.write)

至于将生成的文件读入 pandas DF,这是一个单独的问题,但现在您已经有了文件,您可以像往常一样进行操作。