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,这是一个单独的问题,但现在您已经有了文件,您可以像往常一样进行操作。
我正在使用此代码从 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,这是一个单独的问题,但现在您已经有了文件,您可以像往常一样进行操作。