我想将以下网页中的所有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_)
有什么建议吗?
答案 0 :(得分:0)
模块glob
用于在与运行Python的系统相同的系统上查找与模式匹配的路径名,并且它无法索引任意文件托管Web服务器(甚至不可能先验索引) )。在您的情况下,由于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)