Julia1.7.2で下記のようなデータフレーム(df1)を1行ずつ他のデータフレーム(df)に追加するプログラムを書きたいのですが上手くいきません。
df1.csv
col1 | col2 | col3 | col4 | col5 |
---|---|---|---|---|
A | X | 1050 | --- | --- |
A | X | 22 | --- | --- |
A | X | 806 | --- | --- |
A | X | 2109 | --- | --- |
A | Y | 44 | --- | --- |
B | X | none | --- | --- |
B | Y | 690 | --- | --- |
Julia1.7.2
1using CSV, DataFrames, DataFramesMeta 2 3df1 = CSV.read("C:/Users/user/df1.txt", DataFrame ;type=String, header=1) 4df = DataFrame(col1=String[],col2=String[],col3=String[],col4=String[],col5=String[]) 5for r in eachrow(df1) 6 append!(df,r) 7end 8println(df)
Tarminal
1ERROR: LoadError: ArgumentError: 'DataFrameRow{DataFrame, DataFrames.Index}' iterates 'String' values, which doesn't satisfy the Tables.jl `AbstractRow` interface 2Stacktrace: 3 [1] invalidtable(#unused#::DataFrameRow{DataFrame, DataFrames.Index}, #unused#::String) 4 @ Tables C:\Users\user\.julia\packages\Tables\PxO1m\src\tofromdatavalues.jl:42 5 [2] iterate 6 @ C:\Users\user\.julia\packages\Tables\PxO1m\src\tofromdatavalues.jl:48 [inlined] 7 [3] buildcolumns 8 @ C:\Users\user\.julia\packages\Tables\PxO1m\src\fallbacks.jl:197 [inlined] 9 [4] columns 10 @ C:\Users\user\.julia\packages\Tables\PxO1m\src\fallbacks.jl:260 [inlined] 11 [5] DataFrame(x::DataFrameRow{DataFrame, DataFrames.Index}; copycols::Bool) 12 @ DataFrames C:\Users\user\.julia\packages\DataFrames\MA4YO\src\other\tables.jl:58 13 [6] #append!#803 14 @ C:\Users\user\.julia\packages\DataFrames\MA4YO\src\other\tables.jl:69 [inlined] 15 [7] append!(df::DataFrame, table::DataFrameRow{DataFrame, DataFrames.Index}) 16 @ DataFrames C:\Users\user\.julia\packages\DataFrames\MA4YO\src\other\tables.jl:65 17 [8] top-level scope 18 @ c:\Users\user\OneDrive\Documents\sv_match.jl:16 19in expression starting at c:\Users\user\OneDrive\Documents\sv_match.jl:6
append!(df,r[1,!])
としても、
ERROR: LoadError: MethodError: no method matching getindex(::DataFrameRow{DataFrame, DataFrames.Index}, ::Int64, ::typeof(!))
となり上手くいきませんでした。どうすれば良いでしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/18 03:59