【发布时间】:2017-09-26 22:46:47
【问题描述】:
我在一个安全的 FTP 服务器上有一组 CSV 文件,我试图将它们读入内存中的(单独的)Pandas DataFrame,以便我可以操作它们,然后通过 API 将它们传递到其他地方。 FTP 服务器需要身份验证,这意味着我无法使用其他非常有用的 pd.read_csv() 直接从服务器读取 csv。
以下 (Python 3.x) 代码将连接然后将文件写入磁盘:
from ftplib import FTP
import pandas as pd
server = "server.ip"
username = "user"
password = "psswd"
file1 = "file1.csv" # Just one of the files; I'll eventually loop through...
ftp = FTP(server)
ftp.login(user=username, passwd=password)
with open(filename, "wb") as file:
ftp.retrbinary("RETR " + filename, file.write)
# Do some other logic not relevant to the question
我想避免将文件写入磁盘然后再将其读回。我知道pd.read_csv() 将直接从公共地址读取 csv 文件,但我看不到任何示例说明如何这样做文件在登录后被封闭。
【问题讨论】:
标签: python python-3.x pandas csv ftp