mvnullto ベクトル要素のNULL置換 -------------------------------------------- ベクトル要素でNULLの要素を任意の値に置換する。 ベクトル要素がNULLであれば、要素の区切り文字が連続する。 以下に示したベクトルは全てNULLを含む。 ただし、わかりやすさのためにベクトルの末尾に ``\n`` を記している。 上から順番に、3番目、1番目、4番目の要素がNULLである。 .. code-block:: bash :linenos: ab c\n ab\n abc \n パラメータ '''''''''''''''''''''' **i=** : 型=str , 任意(default=標準入力) | 入力データを指定する。 **o=** : 型=str , 任意(default=標準出力) | 出力データを指定する。 **vf=** : 型=str , 必須 | NULL置換の対象となる項目名( ``i=`` データ上)を指定する。 | 複数項目指定可能。 | 結果の項目名を変更したいときは、:(コロン)に続けて新項目名を指定する。 **A=** : 型=bool , 任意(default=False) | ``vf=`` で:(コロン)に続けて指定した項目名で、新たな項目が追加される。 | なお ``A`` オプションを指定した場合、 ``vf=`` パラメータで指定するすべての | 項目に新項目名を指定しなければならない。 **v=** : 型=str , 任意(default=) | 置換文字列を指定する。 **p=** : 型=bool , 任意(default=False) | 直前の要素で置換する。v=と同時に指定はできない。 **O=** : 型=str , 任意(default=) | NULL値以外の要素を全て、ここで指定した文字列に置換する。 | 指定しなければNULL値以外は置換しない。 **delim=** : 型=str , 任意(default=) | ベクトル型データの区切り文字を指定する。 共通パラメータ '''''''''''''''''''' :ref:`i=` , :ref:`o=` , :ref:`delim=` , :ref:`assert_diffSize=` , :ref:`assert_nullin=` , :ref:`assert_nullout=` , :ref:`nfn=` , :ref:`nfno=` , :ref:`x=` , :ref:`tmppath=` , :ref:`precision=` 利用例 '''''''''''' **importと入力データ(CSV)の準備** .. code-block:: python :linenos: import nysol.mcmd as nm with open('dat1.csv','w') as f: f.write( '''items b a c c c e a b ''') with open('dat2.csv','w') as f: f.write( '''items b.a..c .c.c e.a...b. ''') **nullを文字列nullに置換する例** .. code-block:: python :linenos: nm.mvnullto(vf="items", v="null", i="dat1.csv", o="rsl1.csv").run() ### rsl1.csv の内容 # items # b a null c # c c # e a null null b **分かりやすく区切り文字を.(ドット)にした例** .. code-block:: python :linenos: nm.mvnullto(vf="items", v="null", delim=".", i="dat2.csv", o="rsl2.csv").run() ### rsl2.csv の内容 # items # b.a.null.c # null.c.c # e.a.null.null.b.null **nullを直前の値に置換する例** .. code-block:: python :linenos: nm.mvnullto(vf="items", p=True, i="dat1.csv", o="rsl3.csv").run() ### rsl3.csv の内容 # items # b a a c # c c # e a a a b **O=を指定することで、null以外は全て指定の値に置換される** .. code-block:: python :linenos: nm.mvnullto(vf="items", v="null", O="X", i="dat1.csv", o="rsl4.csv").run() ### rsl4.csv の内容 # items # X X null X # X X # X X null null X 関連メソッド '''''''''''''''''''' * :doc:`mvdelnull` : NULL要素を削除する。