Tel

format event_type.csv


In [ ]:
function reformat(data::Array{ASCIIString,2})
    data = data[2:end,:]
    id_event = Dict{ASCIIString,Set{ASCIIString}}()
    for i in 1:size(data,1)
        id = data[i,1]
        if in(id,keys(id_event))
            push!(id_event[id],data[i,1])
        else
            id_event[id] = Set{ASCIIString}([data[i,2]])
        end
    end
    
    colname = sort(unique(data[:,2]))
    lencol  = length(colname)
    shape   = length(unique(data[:,1])),length(colname)+1
    result  = Array{ASCIIString,2}(shape)
    for (ind,id) in enumerate(keys(id_event))
        @show ind
        vec = Array{ASCIIString,1}(lencol)
        events = id_event[id]
        for (ind,col) in enumerate(colname)
            if in(col,events)
                vec[ind] = "1"
            else
                vec[ind] = "0"
            end
        end
        
        result[ind,:] = vcat(id,vec)
        @show result[ind,:]
    end
    
    result
end
ev = readcsv("../data/event_type.csv",ASCIIString)
reformat(ev)


WARNING: readbytes is deprecated, use read instead.
 in depwarn(::ASCIIString, ::Symbol) at ./deprecated.jl:64
 in readbytes(::Base.PipeEndpoint, ::Vararg{Any}) at ./deprecated.jl:30
 in send_stream(::Base.PipeEndpoint, ::ASCIIString) at /home/guo/.julia/v0.5/IJulia/src/stdio.jl:25
 in watch_stream(::Base.PipeEndpoint, ::ASCIIString) at /home/guo/.julia/v0.5/IJulia/src/stdio.jl:41
 in (::IJulia
ind = 1

In [7]:
unique(ev[:,2])


Out[7]:
54-element Array{Any,1}:
 "event_type"   
 "event_type 11"
 "event_type 15"
 "event_type 20"
 "event_type 7" 
 "event_type 34"
 "event_type 35"
 "event_type 9" 
 "event_type 2" 
 "event_type 54"
 "event_type 1" 
 "event_type 6" 
 "event_type 30"
 ⋮              
 "event_type 47"
 "event_type 49"
 "event_type 53"
 "event_type 44"
 "event_type 42"
 "event_type 45"
 "event_type 26"
 "event_type 4" 
 "event_type 43"
 "event_type 52"
 "event_type 51"
 "event_type 48"

In [ ]: