Julia可以从流而不是从文件中读取

Phu*_*uoc 6 stream dataframe julia

有没有办法从网络URL或runpipe外部命令读取表?似乎DataFrame.readtable仅支持从文件读取.

例如在R中我们可以做到:

df = read.table(url("http://example.com/data.txt"))

x = read.table(pipe("zcat data.txt | sed /^#/d  | cut  -f '11-13'"), colClasses=c("integer","integer","integer"), fill=TRUE, row.names=NULL)
Run Code Online (Sandbox Code Playgroud)

jde*_*dev 7

using DataFrames, Requests

julia> resp = get("https://data.cityofnewyork.us/api/views/kku6-nxdu/rows.csv?accessType=DOWNLOAD")
Response(200 OK, 17 headers, 27350 bytes in body)

julia> tbl = readtable(IOBuffer(resp.data));

julia> names(tbl)
46-element Array{Symbol,1}:
 :JURISDICTION_NAME                  
 :COUNT_PARTICIPANTS                 
 :COUNT_FEMALE                       
 :PERCENT_FEMALE                     
 :COUNT_MALE                         
 :PERCENT_MALE                       
 :COUNT_GENDER_UNKNOWN               
 :PERCENT_GENDER_UNKNOWN             
 :COUNT_GENDER_TOTAL                 
 :PERCENT_GENDER_TOTAL               
 :COUNT_PACIFIC_ISLANDER             
 :PERCENT_PACIFIC_ISLANDER           
 :COUNT_HISPANIC_LATINO              
 :PERCENT_HISPANIC_LATINO            
 :COUNT_AMERICAN_INDIAN              
 :PERCENT_AMERICAN_INDIAN            
 :COUNT_ASIAN_NON_HISPANIC           
 ?                                   
 :PERCENT_PERMANENT_RESIDENT_ALIEN   
 :COUNT_US_CITIZEN                   
 :PERCENT_US_CITIZEN                 
 :COUNT_OTHER_CITIZEN_STATUS         
 :PERCENT_OTHER_CITIZEN_STATUS       
 :COUNT_CITIZEN_STATUS_UNKNOWN       
 :PERCENT_CITIZEN_STATUS_UNKNOWN     
 :COUNT_CITIZEN_STATUS_TOTAL         
 :PERCENT_CITIZEN_STATUS_TOTAL       
 :COUNT_RECEIVES_PUBLIC_ASSISTANCE   
 :PERCENT_RECEIVES_PUBLIC_ASSISTANCE 
 :COUNT_NRECEIVES_PUBLIC_ASSISTANCE  
 :PERCENT_NRECEIVES_PUBLIC_ASSISTANCE
 :COUNT_PUBLIC_ASSISTANCE_UNKNOWN    
 :PERCENT_PUBLIC_ASSISTANCE_UNKNOWN  
 :COUNT_PUBLIC_ASSISTANCE_TOTAL      
 :PERCENT_PUBLIC_ASSISTANCE_TOTAL

julia> eltypes(tbl)
46-element Array{Type,1}:
 Int64  
 Int64  
 Int64  
 Float64
 Int64  
 Float64
 Int64  
 Int64  
 Int64  
 Int64  
 Int64  
 Float64
 Int64  
 Float64
 Int64  
 Float64
 Int64  
 ?      
 Float64
 Int64  
 Float64
 Int64  
 Float64
 Int64  
 Int64  
 Int64  
 Int64  
 Int64  
 Float64
 Int64  
 Float64
 Int64  
 Int64  
 Int64  
 Int64 
Run Code Online (Sandbox Code Playgroud)