我一直在從Strava中提取數據並將其引入JMP。 數據採用JSON格式,就像所附的格式一樣。對於我來說,這涉及到多序列堆棧刪除列和大量數據操作,這對我來說是一個痛苦的過程。 最後,我想附上兩個表格。 我希望是因為我對JSON解析的了解不足導致了麻煩。 如果有人有機會看一看,我將感謝您提出的有關減輕流程痛苦的任何想法。
****編輯:確保將第5行中的路徑更改為文件所在的位置。
皮特,試試看。運行導入嚮導後,似乎返回的內容雖然乍一看毫無用處,但至少對於手頭的數據集來說足夠了。讓我知道在這個(最好是另一個)數據集上對您的影響。我已經假設數據如何返回,這可能對其他數據無效。
Names Default To Here( 1 );
jsonFromWizardExpr = Expr(
dt = Open(
"/Users/brady.brady@jmp.com/Downloads/Morning_Run_.json",
JSON Settings(
Stack( 0 ),
Row( "/root/data/values" ),
Col(
"/root/data/values",
Column Name( "values" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
),
Col(
"/root/data/fields",
Column Name( "fields" ),
Fill( "Use Once" ),
Type( "Character" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
)
),
JSON Wizard( 0 )
)
);
jsonFromWizardExpr;
//get nonempty rows in column 2. These follow the data having the fields indicated
{rowA, rowB} = As List( dt << get rows where( dt:fields != "" ) );
//main logic is here; note latlng needs to be split to lat, lng
colList = Words( Substitute( dt:fields[rowA], "latlng", "lat, lng" ), " ," );
As Table( Shape( dt[1 :: (rowA - 1), 1], (rowA - 1) / N Items( colList ) ), <<column names( colList ) );
colList = Words( dt:fields[rowB], ", " );
As Table( Shape( dt[((rowA) :: (rowB - 1)), 1], (rowB - rowA) / N Items( colList ) ), <<column names( colList ) );