【问题标题】:Store data from multiple URLs in python在 python 中存储来自多个 URL 的数据
【发布时间】:2020-02-25 12:42:07
【问题描述】:

我有 10 个URL's,它们是csv 文件。我想将来自多个 URL 的数据存储在 python 的列表中。所有 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 的其余部分获取数据并将它们全部存储在一个列表中。

【问题讨论】:

  • 您可以创建一个包含 10 个 url 的列表,然后为列表中的每个 url 运行一个 for 循环。
  • 只需创建一个 URL 列表。在循环中遍历它们并将数据附加到列表中。应该不难。

标签: python django python-3.x list csv


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您希望将 CSV 的内容合并到一个文件中吗?您可以将 dfs 行更改为:

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

    如果这不是您想要做的,您可以使用 df['col'].values 将 DFS 数据帧中的数据转换为数组,然后将其转换为 list() 并将列表附加到数据中,这样您有一个列表列表。如果您只想要一个列表,您可以使用以下方法展平列表列表:

    list(itertools.chain.from_iterable(data))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      相关资源
      最近更新 更多