arraytable (objecttable) fails when the argument is a nested table
まだ誰も着手していません。
評価
調査の方向性
まず、objecttable(dfn) を使ってネストされた DataFrame の例を再現し、issue に示されている jsontable および DataFrame(jsontable(jdata)) のエントリポイントと比較します。ネストされたテーブルで期待される表現を確認し、そのケースのカバレッジを追加して、StructTypes.StructType が見つからないエラーで失敗しなくなったことを検証します。
索引モデルが issue の本文から書いたものです。
説明
I wanted to see the json file corresponding to a dataframe that has dataframes as elements in one of the columns.
3×3 DataFrame
Row │ f oc sdf
│ String Int64 DataFrame
─────┼──────────────────────────────
1 │ f1 1 3×2 DataFrame
2 │ f2 2 2×2 DataFrame
3 │ f3 3 3×2 DataFrame
I have previously verified that
julia> Tables.istable(dfn)
true
but I get this result
julia> objecttable(dfn)
ERROR: ArgumentError: DataFrame doesn't have a defined `StructTypes.StructType`
Stacktrace:
...
I wonder if it is possible to manage this type of structures
if i use jsontable on this string (http://bl.ocks.org/nautat/4085017)
jdata = "[
{
\"name\":\"bob\",
\"salary\":13000,
\"friends\":[
{
\"name\": \"sarah\",
\"salary\":10000
},
{
\"name\": \"bill\",
\"salary\":5000
}
]
},
{
\"name\":\"marge\",
\"salary\":10000,
\"friends\":[
{
\"name\": \"rhonda\",
\"salary\":10000
},
{
\"name\": \"mike\",
\"salary\":5000,
\"hobbies\":[
{
\"name\":\"surfing\",
\"frequency\":10
},
{
\"name\":\"surfing\",
\"frequency\":15
}
]
}
]
},
{
\"name\":\"joe\",
\"salary\":10000,
\"friends\":[
{
\"name\": \"harry\",
\"salary\":10000
},
{
\"name\": \"sally\",
\"salary\":5000
}
]
}
]"
and then i try to get the dataframe
julia> jsontable(jdata)
JSONTables.Table{false, JSON3.Array{JSON3.Object, Base.CodeUnits{UInt8, String}, Vector{UInt64}}}([:name, :salary, :friends], Dict{Symbol, Type}(:name => String, :salary => Int64, :friends => JSON3.Array{JSON3.Object, Base.CodeUnits{UInt8, String}, SubArray{UInt64, 1, Vector{UInt64}, Tuple{UnitRange{Int64}}, true}}), JSON3.Object[{
...
julia> DataFrame(jsontable(jdata))
3×3 DataFrame
Row │ name salary friends
│ String Int64 Array…
─────┼───────────────────────────────────────────────────
1 │ bob 13000 JSON3.Object[{\n "name": "sa…
2 │ marge 10000 JSON3.Object[{\n "name": "rh…
3 │ joe 10000 JSON3.Object[{\n "name": "ha…
- 主要言語
- Julia
- スター
- 71
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaData/JSONTables.jl のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
JuliaData/JSONTables.jl#25 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
JuliaData/JSONTables.jl#20 · コメント 2 件 ·
-
Define `filter`オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
JuliaData/JSONTables.jl#15 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaData/JSONTables.jl#13 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
JuliaData/JSONTables.jl#10 · コメント 1 件 · リアクション 5 件 ·
JuliaData/JSONTables.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
oscar-system/GAP.jl#1455 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
JuliaAI/MLJTransforms.jl#85 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
SciML/OrdinaryDiffEq.jl#4875 ·
メンテナーはふだん 4 日以内に返信
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
SciML/NonlinearSolve.jl#1372 ·
メンテナーはふだん 1 日以内に返信