list flattenで、empty list の行を残してフラット化したい。

list flattenで、empty list の行を残してフラット化したい。

ishikam
Enthusiast Enthusiast
3,508件の閲覧回数
12件の返信
メッセージ1/13

list flattenで、empty list の行を残してフラット化したい。

ishikam
Enthusiast
Enthusiast

list整理.PNG左記の場合に、普通にフラット化するとemptylistの行が消えてしまい、全体の行数が減ってしまいます。この場合、後々にsortbykeyをかけようとすると、他のデータと行数が合わなくなってしまうので、エラーになってしまいます。

これを解消するために、emptylistの行も残したフラット化を行いたいのですが、いい方法があれば教えてください。よろしくお願いします。

0 件のいいね
3,509件の閲覧回数
12件の返信
返信 (12)
メッセージ2/13

SUGKJ
Collaborator
Collaborator

差し支えなければEmptyListをnullに置換してから
Flattenするのがわかりやすいかなと思います。

useRelace.PNG

SUGKJ

EESignature

メッセージ3/13

ishikam
Enthusiast
Enthusiast

ありがとうございます。完璧です。!!

こうゆう簡単な事にも、丁寧に返答いただき恐縮です。

これからもよろしくお願いします。

メッセージ4/13

ishikam
Enthusiast
Enthusiast

すいません。

List.replace って、どこにありますか?

string.replace なら出てくるのですが。ちなみdynamoのバージョンは2.3.0です。

よろしくお願いします。

0 件のいいね
メッセージ5/13

ishikam
Enthusiast
Enthusiast

list.replaceがdynamoで見つけられないので、フラット化するときに、「リスト構造を保持」にチェックを入れてみた所、以下の様な現象になっています。これらを上手く活用できるようにならないでしょうか?

Emptylistからnull1.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

上図は、リストの始まりの方です。「リスト構造を保持」が効いたのかどうかわかりませんが、Emptylistがnullに変換されています。一方、下図は、リスト終盤の方です。「watch」窓にしるされていませんが、全体で728LIST存在し、701から728まではEmptylistになります。この場合は700listまで、フラット化され、701以降のemptylistが「NULL」化されておりません。701以降も「NULL」化してくれると問題は解決するのですが、この辺り良い方法ないでしょうか?

 

Emptylistからnull2.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

お手数おかけしますが、よろしくお願いいたします。

0 件のいいね
メッセージ6/13

SUGKJ
Collaborator
Collaborator
解決済み

申し訳ございません。List.ReplaceはOrchidパッケージのノードでした。

SUGKJ

EESignature

メッセージ7/13

ishikam
Enthusiast
Enthusiast

お世話になります。

今年もよろしくお願いいたします。

ORCHIDパッケージのアドインが一番の解決方法になりますかね?

 

0 件のいいね
メッセージ8/13

SUGKJ
Collaborator
Collaborator
解決済み

パッケージを使いたくないのであればPython Scriptを使うしかないかもしれません。

pythonでnullに置換.PNG

SUGKJ

EESignature

メッセージ9/13

ishikam
Enthusiast
Enthusiast

SUGKJ様

了解しました。pythonスクリプトで試してみます。ありがとうございます。

メッセージ10/13

ishikam
Enthusiast
Enthusiast

SUGKJ様

お世話になります。解決済みのところ、申し訳ありませんが一つ教えてください。

listの違い.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上手の上段のpythonscriptでは、「null化」成功していますが、下段では「empty list」のままとなっています。

これらの違いは上段のListが@L3~@L1で、emptylistは@L2にあるのに対して、下段は@L4~@L1で、@L2にemptylistがある状態です。下段のLIST構成に対応させる場合に、pythonscript内のプログラムの書き方で対応できる方法があれば教えてください。

 

聞いてばかりで、申し訳ございませんがよろしくお願いいたします。

0 件のいいね
メッセージ11/13

ishikam
Enthusiast
Enthusiast

上手←上図の間違いです。

図と文章の間に変な空間ができてしまって、見にくくなってしまい、すいません。

0 件のいいね
メッセージ12/13

SUGKJ
Collaborator
Collaborator
解決済み

コードをざっくりと書いてみたところ、リストのレベルに関係なく動作しました。
EmptyListをnullに.PNG
もはやPythonの世界の話です。動作不具合などの対処も含め、

これ以上はご自身でPython研究を進めて頂ければ幸いです。

SUGKJ

EESignature

メッセージ13/13

ishikam
Enthusiast
Enthusiast

SUGKJ様

お手数おかけしました。ありがとうございます。