将来自多个URL的数据存储在python中



我有10个URL's,它们是csv文件。我想在python中的列表中存储来自多个URL的数据。所有URL都是相同格式的csv文件。

我试过:

url = request.GET.get('url')         #for first url
data = []
with closing(requests.get(url, stream=True)) as f:
dfs = [pd.read_csv(filename) for filename in f]

我可以提取数据,但如何从URL的其余部分获取数据并将所有数据存储在列表中。

如果csv有相同数量的列,则为url创建字符串列表,然后循环通过:

url_lst = []
for u in urls:
i = pd.read_csv(u)
url_lst.append(i) 

是否要将CSV的内容合并到一个文件中?你可以将你的dfs行更改为类似于:

df = pd.concat([pd.read_excel(f) for f in all_files])

如果你不想这样做,你可以将DFS数据帧中的数据转换为一个带有df['col'].values的数组,然后将其转换为list((,并将列表附加到数据中,这样你就有了一个列表列表。如果你只想要一个列表,你可以用来压平列表

list(itertools.chain.from_iterable(data))

最新更新