使用从ftp下载的CSV数据与csv.reader

cxfofazt  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(118)

我正在编写一个小脚本,它从ftp服务器下载一个csv文件,下载后,我想在将其写入新文件之前对每行进行一些计算。
我有ftp部分工作,但我不能弄清楚如何使用BytesIO数据作为csv数据。
我使用下面的代码,但打印0行。
任何帮助或推动在正确的方向将非常感谢。

from ftplib import FTP
import io

ftp = FTP(FTP_SERVER)
ftp.login(FTP_USER, FTP_PASSWORD)
csv_data = io.BytesIO()
ftp.retrbinary('RETR ' + FTP_FILE, csv_data.write)

csv_reader = csv.reader(csv_data, delimiter=",")
for row in csv_reader:
    print(row)
hc8w905p

hc8w905p1#

1.下载后,BytesIO的读/写指针在末尾。在读取之前,您必须将其返回到开头。
1.此外,您需要将下载的字节转换为文本。

csv_data.seek(0)
csv_data = io.TextIOWrapper(csv_data, encoding='utf-8')

相关问题