【发布时间】:2021-11-11 09:33:03
【问题描述】:
我有一个脚本,它可以获取 .csv 文件和一些数据校正并保存我的 django 数据库。就我而言,我无法从 FTP 服务器获取 .csv 文件。我尝试了以下代码,但每次都遇到不同的错误。
import pandas as pd
import pysftp as sftp
with sftp.connect(your_host, your_user, your_pw) as conn:
with conn.open("path_and_file.csv", "r") as f:
df = pd.read_csv(f)
错误:“AttributeError:模块'pysftp'没有属性'connect'”
ftp = FTP('your_host')
ftp.login('your_user', 'your_pw')
ftp.set_pasv(False)
我不能更进一步。
我如何使用 pandas 从 FTP 服务器读取 .csv 文件?
我解决了我的问题如下:
我复制了文件然后以 pd 的形式打开。
with FTP(host) as ftp:
ftp.login(user=user, passwd=password)
print(ftp.getwelcome())
with open("proj.csv", "wb") as f:
ftp.retrbinary("RETR " + "proj.csv", f.write, 1024)
with open("pers.csv", "wb") as f:
ftp.retrbinary("RETR " + "pers.csv", f.write, 1024)
ftp.quit()
【问题讨论】:
-
我认为这不是正确的方法,这里有一个链接pypi.org/project/pysftp
-
不幸的是,我尝试了 pysftp 的 Eaxmple,但显示“AttributeError: 'Connection' object has no attribute '_sftp_live'”错误。
-
您的解决方案不使用“安全 FTP”。