Как прочитать все CSV-файлы с веб-страницы во фрейме данных Pandas - PullRequest
0 голосов
/ 16 сентября 2018

Я хотел бы загрузить все файлы csv со следующей веб-страницы во фрейм данных

https://s3.amazonaws.com/tripdata/index.html

Я попытался с glob, как для загрузки всех файлов из каталога без успеха:

import glob
path ='https://s3.amazonaws.com/tripdata' # use your path
allFiles = glob.glob(path + "/*citibike-tripdata.csv.zip")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
    df = pd.read_csv(file_, index_col=None, header=0)
    list_.append(df)
frame = pd.concat(list_)

Есть предложения?

1 Ответ

0 голосов
/ 16 сентября 2018

Модуль glob используется для поиска путей, соответствующих шаблонам в той же системе, в которой работает Python, и для него нет способа индексировать произвольные веб-серверы для размещения файлов (что априори даже невозможно).В вашем случае, поскольку https://s3.amazonaws.com/tripdata/ предоставляет требуемый индекс, вы можете проанализировать его, чтобы получить соответствующие файлы:

import re
import requests

url = 'https://s3.amazonaws.com/tripdata/'
t = requests.get(url).text
filenames = re.findall('[^>]+citibike-tripdata\.csv\.zip', t)
frame = pd.concat(pd.read_csv(url + f) for f in filenames)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...