I need read a .txt file. The structure: red=DataFrames.readtable(“I:/Julia/CHO/cho1.txt”,allowcomments=true,separator=’ ')
worked with DataFrames v0.20.0 but not run with v0.21.3 (UndefVarError: readtable not defined)
How can I solve this problem?
See here:
Base.depwarn("readtable is deprecated, use CSV.read from the CSV package instead",
:readtable)
Although that deprecation message funnily is sort of deprecated itself, as CSV just deprecated CSV.read as of the latest v0.7.
So in short use DataFrame!(CSV.File(path))
Just because someone just liked the above post and I can’t edit it: my old post is deprecated, we’ve come full circle, these days do:
using CSV, DataFrames
CSV.read(path, DataFrame)
Thanks for the heads up. Why does the order of the file paths matter? In the case of single row and multiple row csv files
CSV.read([MultipleRowFile, SingleRowFile), DataFrame)
works but reversing the order of the files
CSV.read([SingleRowFile, MultipleRowFile), DataFrame)
returns the following error:
ERROR: UndefVarError: `A` not defined
Stacktrace:
[1] (::CSV.var"#3#4")(x::PooledArrays.PooledVector{String31, UInt32, Vector{UInt32}})
@ CSV ./none:0
[2] iterate
@ ./generator.jl:47 [inlined]
[3] collect(itr::Base.Generator{Vector{PooledArrays.PooledVector{String31, UInt32, Vector{UInt32}}}, CSV.var"#3#4"})
@ Base ./array.jl:834
[4] chaincolumns!(a::Any, b::Any)
@ CSV ~/.julia/packages/CSV/tmZyn/src/utils.jl:240
[5] CSV.File(sources::Vector{String}; source::Nothing, kw::@Kwargs{})
@ CSV ~/.julia/packages/CSV/tmZyn/src/file.jl:930
[6] File
@ ~/.julia/packages/CSV/tmZyn/src/file.jl:901 [inlined]
[7] read(source::Vector{String}, sink::Type; copycols::Bool, kwargs::@Kwargs{})
@ CSV ~/.julia/packages/CSV/tmZyn/src/CSV.jl:117
[8] read(source::Vector{String}, sink::Type)
@ CSV ~/.julia/packages/CSV/tmZyn/src/CSV.jl:113
[9] top-level scope
@ REPL[154]:1
I made a separate post but just wondering. Thanks!
Please start a separate thread with your question (as you have done already, and I have answered there)