Python-使用凭据从 ftp url 中提取 csv

标签 python python-3.x pandas csv ftp

Python 和 API 的新手。我的来源创建了一个 ftp url,他们每天都在其中转储文件,我想抓取文件以执行工程 + 分析。我的问题是,如何指定用户名和密码来提取 csv?

import pandas as pd
data = pd.read_csv('http://site-ftp.site.com/test/cat/filename.csv)

我如何为此添加凭据? PS- url 是假的,为了举例。

最佳答案

对于旧版本的 Pandas,您可以使用类似 requests.get() 的方法将 CSV 数据下载到内存中。然后您可以使用 StringIO 使数据“像文件一样”,以便 pd.read_csv() 可以读入它。这种方法避免了必须先将数据写入文件。

import requests
import pandas as pd
from io import StringIO

csv = requests.get("http://site-ftp.site.com/test/cat/filename.csv", auth=HTTPBasicAuth('user', 'password'))
data = pd.read_csv(StringIO(csv.text))

print(data)

从 pandas 0.19.2 开始,pd.read_csv() 函数现在允许您直接传递 URL。例如:

data = pd.read_csv('http://site-ftp.site.com/test/cat/filename.csv')

关于Python-使用凭据从 ftp url 中提取 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45682919/

相关文章:

python - 使用 Python 在 Jenkins 控制台输出中打印出超链接

python - 将 rbf 与 scipy 一起使用时出现内存错误

python - 如何在Python中下载文件时制作进度条

python - add_format 无法按预期与 xlsxwriter 一起工作

Python:fork、pipe 和 exec

python - 控制台可以找到文件,但是使用运行工具窗口找不到

python - 返回 Python 解释器的 bash 脚本可以替换 shebang 吗?

python - 如何对数据框行进行分组并过滤字符串列表中的所有事件?

python - Pandas:如果不同的给定列重复,如何组合列 int 值?

python - Pandas ,通过列值的单调增加来拆分数据框