如何从 url 列表创建 Dask DataFrame?

How to create Dask DataFrame from a list of urls?

我有一个 URL 列表,我很乐意将它们读入 dask 数据框 一次,但看起来 read_csv 不能为 http 使用星号。有什么办法可以实现吗?

这是一个例子:

link = 'http://web.mta.info/developers/'

data = [     'data/nyct/turnstile/turnstile_170128.txt',
                        'data/nyct/turnstile/turnstile_170121.txt',
                        'data/nyct/turnstile/turnstile_170114.txt',
                        'data/nyct/turnstile/turnstile_170107.txt' 
        ]

而我想要的是

df = dd.read_csv('XXXX*X')

尝试使用 dask.delayed to turn each of your urls into a lazy pandas dataframe and then use dask.dataframe.from_delayed 将这些惰性值转换为完整的 dask 数据帧

import pandas as pd
import dask
import dask.dataframe as dd

dfs = [dask.delayed(pd.read_csv)(url) for url in urls]

df = dd.from_delayed(dfs)

这将立即读取 一个 链接,以便找出元数据(列、数据类型)。如果您提前知道这些数据类型和链接,那么您可以通过将示例空数据帧传递给 dd.from_delayed(..., meta=sample_df)

来避免这种情况

另请参阅:http://dask.pydata.org/en/latest/delayed-collections.html