配列を含む列を持つ CSV ファイルがあります。ファイルは次のようになります。
siblings
[3010,3011,3012]
[2010,2012]
私がやろうとしているのは、配列の要素を個別の行として返すことです。
ドキュメントに目を通し、UNWIND
機能を見つけました。ドキュメントに示されている例を試したとき:
UNWIND [1, 2, 3] AS x
RETURN x
すべてがうまくいきました。私のデータで試したとき、クエリは次のようになりました。
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line1
UNWIND line1.siblings as a
RETURN a
そして結果は
[3010,3011,3012]
[2010,2012]
の代わりに:
3010
3011
3012
...
誰かが私が間違っていることを知っていますか?
CSV 列はすべて文字列として扱われるため、そのように扱う必要があります。あなたの場合、文字列をコレクションに分割する前に、兄弟列から角括弧を削除できます。この手順は、ファイルの前処理を回避するのに役立ちます。文字列を分割すると、まだ文字列のコレクションがあります。
WITH "[1001,1002,1003]" as numbers_with_brackets_in_a_string
WITH substring( numbers_with_brackets_in_a_string, 1, size(numbers_with_brackets_in_a_string)-2 ) as numbers_in_a_string
UNWIND split( numbers_in_a_string, ',' ) as number_as_a_string
RETURN number_as_a_string
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加