2017-03-29 41 views
2

我有一個URL列表,我很樂意將它們一次讀入dask數據框 ,但它看起來像read_csv不能使用星號http。有什麼辦法可以實現嗎?如何從網址列表創建Dask DataFrame?

下面是一個例子:

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')

回答

3

嘗試使用dask.delayed把每個網址進入一個懶惰的熊貓數據幀,然後用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) 

這將讀取一個立即爲了找出元數據(列,dtypes)。如果你事先知道這些dtypes和鏈接,那麼你可以通過傳遞一個樣本空數據幀避免這dd.from_delayed(..., meta=sample_df)

參見:http://dask.pydata.org/en/latest/delayed-collections.html

相關問題