Sure, so I need col #1 in my CSV to be a string in my data frame.
So as a test I tried to load the file 3 different ways:
*df1_CSV = CSV.read("$df1_path"; types=Dict(1=>String)) #forcing the
column to stay a string*
*df1_readtable = readtable("$df1_path") #Do not know how to force the
column to stay a string*
*df1_convertDF = convert(DataFrame, df1_CSV)*
Here is the output: If they are all dataframes then showcols should work
an all three df1:
*julia> names(df1_CSV)*
3-element Array{Symbol,1}:
:account_number
Symbol("Discharge Date")
:site
*julia> names(df1_readtable)*
3-element Array{Symbol,1}:
:account_number
:Discharge_Date
:site
*julia> names(df1_convertDF)*
3-element Array{Symbol,1}:
:account_number
Symbol("Discharge Date")
:site
*julia> eltypes(df1_CSV)*
3-element Array{Type,1}:
Nullable{String}
Nullable{WeakRefString{UInt8}}
Nullable{WeakRefString{UInt8}}
*julia> eltypes(df1_readtable)*
3-element Array{Type,1}:
Int32 *#Do not know how to force the column to stay a string*
String
String
*julia> eltypes(df1_convertDF)*
3-element Array{Type,1}:
Nullable{String}
Nullable{WeakRefString{UInt8}}
Nullable{WeakRefString{UInt8}}
*julia> showcols(df1_convertDF)*
1565x3 DataFrames.DataFrame
ERROR: MethodError: no method matching
countna(::NullableArrays.NullableArray{St
ring,1})
Closest candidates are:
countna(::Array{T,N}) at
C:\Users\lmathews\.julia\v0.5\DataFrames\src\other\ut
ils.jl:115
countna(::DataArrays.DataArray{T,N}) at
C:\Users\lmathews\.julia\v0.5\DataFram
es\src\other\utils.jl:128
countna(::DataArrays.PooledDataArray{T,R<:Integer,N}) at
C:\Users\lmathews\.ju
lia\v0.5\DataFrames\src\other\utils.jl:143
in colmissing(::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.5\DataFram
es\src\abstractdataframe\abstractdataframe.jl:657
in showcols(::Base.TTY, ::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.
5\DataFrames\src\abstractdataframe\show.jl:574
in showcols(::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.5\DataFrames
\src\abstractdataframe\show.jl:581
*julia> showcols(df1_readtable)*
1565x3 DataFrames.DataFrame
│ Col # │ Name │ Eltype │ Missing │
├───────┼────────────────┼────────┼─────────┤
│ 1 │ account_number │ Int32 │ 0 │
│ 2 │ Discharge_Date │ String │ 0 │
│ 3 │ site │ String │ 0 │
*julia> showcols(df1_CSV)*
1565x3 DataFrames.DataFrame
ERROR: MethodError: no method matching
countna(::NullableArrays.NullableArray{St
ring,1})
Closest candidates are:
countna(::Array{T,N}) at
C:\Users\lmathews\.julia\v0.5\DataFrames\src\other\ut
ils.jl:115
countna(::DataArrays.DataArray{T,N}) at
C:\Users\lmathews\.julia\v0.5\DataFram
es\src\other\utils.jl:128
countna(::DataArrays.PooledDataArray{T,R<:Integer,N}) at
C:\Users\lmathews\.ju
lia\v0.5\DataFrames\src\other\utils.jl:143
in colmissing(::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.5\DataFram
es\src\abstractdataframe\abstractdataframe.jl:657
in showcols(::Base.TTY, ::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.
5\DataFrames\src\abstractdataframe\show.jl:574
in showcols(::DataFrames.DataFrame) at
C:\Users\lmathews\.julia\v0.5\DataFrames
\src\abstractdataframe\show.jl:581
On Thursday, November 3, 2016 at 8:54:19 AM UTC-4, Michael Borregaard wrote:
>
> The result of CSV should be a DataFrame by default. What return type do
> you get?
>