【发布时间】:2022-10-07 16:50:26
【问题描述】:
尝试将文件从 ftp 服务器下载到 pandas 数据帧时,我收到 [Errno 2] No such file or directory 错误。这些文件位于 ftp 的根目录中。
当我打印
我猜pd.read_csv() 函数正在查看我的本地文件系统......即脚本所在的本地路径......但我不明白如何改变它。
def fetch_files(site, username, password, directory: str = \'/\', filematch: str = \'*.csv\'):
with ftplib.FTP(site) as ftp:
# pass the url without protocol
ftp = ftplib.FTP(site)
# pass credentials if anonymous access is not allowed
ftp.login(username, password)
ftp.cwd(directory)
list_ = []
for file_ in ftp.nlst(filematch):
print(file_) # This works
df = pd.read_csv(file_, index_col=None, header=0) # This fails
list_.append(df)
还是我必须使用 ftp.retrlines() 方法? IF 那么 \'LIST\' \'MLSD\' 参数有什么区别?
附带说明:CSV 中的文件中包含 HTML 代码,例如 & ,它会推出 sql 批量插入。我将它们读取到数据框的原因是更改编码并合并单个文件。有没有更快的方法直接通过 python csv 模块执行此操作?我想这会更快?
先感谢您
标签: python pandas path ftp ftplib