Julia中数据帧的读取和连接
我有一个.csv文件文件夹,我想读取并转换为数据帧 我尝试了一个函数来执行此操作:Julia中数据帧的读取和连接,julia,Julia,我有一个.csv文件文件夹,我想读取并转换为数据帧 我尝试了一个函数来执行此操作: function read_CSV_all(name_in::String) folder = joinpath(@__DIR__, "../validation", name_in) files = glob("*.csv",folder) dfs = CSV.read.(files,DataFrame) df = vcat(dfs...)
function read_CSV_all(name_in::String)
folder = joinpath(@__DIR__, "../validation", name_in)
files = glob("*.csv",folder)
dfs = CSV.read.(files,DataFrame)
df = vcat(dfs...)
return df
end
但我犯了个错误
ERROR: LoadError: ArgumentError: column(s) ... are missing from argument(s) 4
我准备好的每个.csv文件中的列都有不同的长度-这可能是问题所在吗?
当我返回df(数据帧数组)时,我的函数可以工作,但是我希望一个数据帧包含我正在读取的.csv文件的所有列
列(…)都有不同的长度-这可能是问题所在吗
否。vcat
进行垂直连接,因此每个数据帧中的行数无关紧要
列。。。参数4中缺少
此错误消息告诉您,您尝试加入的数据帧不具有相同的列。为了允许数据帧中的非匹配列垂直连接,请执行以下操作:
vcat(dfs..., cols=:union)
或
如果您有大量的数据帧(以避免散乱),这可能会更好
reduce(vcat, dfs, cols=:union)