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/