5.71. mvnullto ベクトル要素のNULL置換

ベクトル要素でNULLの要素を任意の値に置換する。 ベクトル要素がNULLであれば、要素の区切り文字が連続する。 以下に示したベクトルは全てNULLを含む。 ただし、わかりやすさのためにベクトルの末尾に \n を記している。 上から順番に、3番目、1番目、4番目の要素がNULLである。

1ab c\n
2 ab\n
3abc \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=)

ベクトル型データの区切り文字を指定する。

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.csv','w') as f:
 4  f.write(
 5'''items
 6b a  c
 7c c
 8e a   b
 9''')
10
11with open('dat2.csv','w') as f:
12  f.write(
13'''items
14b.a..c
15.c.c
16e.a...b.
17''')

nullを文字列nullに置換する例

1nm.mvnullto(vf="items", v="null", i="dat1.csv", o="rsl1.csv").run()
2### rsl1.csv の内容
3# items
4# b a null c
5# c c
6# e a null null b

分かりやすく区切り文字を.(ドット)にした例

1nm.mvnullto(vf="items", v="null", delim=".", i="dat2.csv", o="rsl2.csv").run()
2### rsl2.csv の内容
3# items
4# b.a.null.c
5# null.c.c
6# e.a.null.null.b.null

nullを直前の値に置換する例

1nm.mvnullto(vf="items", p=True, i="dat1.csv", o="rsl3.csv").run()
2### rsl3.csv の内容
3# items
4# b a a c
5# c c
6# e a a a b

O=を指定することで、null以外は全て指定の値に置換される

1nm.mvnullto(vf="items", v="null", O="X", i="dat1.csv", o="rsl4.csv").run()
2### rsl4.csv の内容
3# items
4# X X null X
5# X X
6# X X null null X

関連メソッド