读取从 Python 中的 FTP 下载的 CSV 文件未读取所有行

Reading CSV file downloaded from FTP in Python not reading all rows

我正在尝试从 FTP 中的文件夹中读取 CSV 文件。该文件有 3072 行。但是,当我 运行 代码时,它并没有读取所有行。漏掉了底部的某些行。

## FTP host name and credentials
ftp = ftplib.FTP('IP', 'username','password')

## Go to the required directory
ftp.cwd("Folder_Name")

names = ftp.nlst()
final_names= [line for line in names if '.csv' in line]

latest_time = None
latest_name = None

#os.chdir(filepath)

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

file = open(latest_name, 'wb')

ftp.retrbinary('RETR '+ latest_name, file.write)

dat = pd.read_csv(latest_name)

要从FTP读取的CSV文件如下-

代码的输出为-

确保关闭文件,然后再尝试阅读它,使用 file.close(),或者使用 with 更好:

with open(latest_name, 'wb') as file:
    ftp.retrbinary('RETR '+ latest_name, file.write)

dat = pd.read_csv(latest_name)

如果您不需要将文件实际存储到本地文件系统,并且文件不是太大,可以只下载到内存: