Previous: mnrjoin 参照ファイルの複数範囲条件による自然結合 Up: コマンドリファレンス Next: mnumber 連番 MCMD2
MCMD2 : コマンドリファレンス : mnullto NULL値の置換

3.39 mnullto NULL値の置換

f=パラメータで指定した項目について NULL値をv=パラメータで指定した文字列に置換する。

書式

mnullto f= [v=|-p] [O=] [-A] [i=] [o=] [-assert_diffSize] [-nfn] [-nfno] [-x] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

f=

ここで指定した項目(複数項目指定可)のNULL値が置換される。

v=

ここで指定した文字列にNULL値を置換する。

-p

前の行のNULL値で置換する。

 

v=パラメータと同時に指定できない。

O=

NULL値以外を置換したい場合は、ここで値を指定する。 指定しなければNULL値以外は置換しない。

-A

このオプションにより、指定した項目を置き換えるのではなく、 新たに項目が追加される。

 

-Aオプションを指定した場合は必ず、

 

:(コロン)で新項目名を指定する必要がある。例)f=数量:置換後の項目名

利用例

例1: 基本例

birthday項目がNULL値の場合は"no value"に置換する。

$ more dat1.csv
customer,birthday
A,19690103
B,
C,19500501
D,
E,
$ mnullto f=birthday v="no value" i=dat1.csv o=rsl1.csv
#END# kgnullto f=birthday i=dat1.csv o=rsl1.csv v=no value
$ more rsl1.csv
customer,birthday
A,19690103
B,no value
C,19500501
D,no value
E,no value

例2: NULL値以外の置換

birthday項目がNULL値の場合は、"no value" 値がある場合は"value"置換しentryという項目名に変更して出力する。

$ mnullto f=birthday:entry v="no value" O="value" i=dat1.csv o=rsl2.csv
#END# kgnullto O=value f=birthday:entry i=dat1.csv o=rsl2.csv v=no value
$ more rsl2.csv
customer,entry
A,value
B,no value
C,value
D,no value
E,no value

例3: 新しい項目を出力

birthday項目がNULL値の場合は"no value"、値がある場合は"value"に置換しentryという項目名で出力する。

$ mnullto f=birthday:entry v="no value" O="value" -A i=dat1.csv o=rsl3.csv
#END# kgnullto -A O=value f=birthday:entry i=dat1.csv o=rsl3.csv v=no value
$ more rsl3.csv
customer,birthday,entry
A,19690103,value
B,,no value
C,19500501,value
D,,no value
E,,no value

例4: 前行の値に置換

$ more dat2.csv
id,date
A,19690103
B,
C,19500501
D,
E,
$ mnullto f=date -p i=dat2.csv o=rsl4.csv
#END# kgnullto -p f=date i=dat2.csv o=rsl4.csv
$ more rsl4.csv
id,date
A,19690103
B,19690103
C,19500501
D,19500501
E,19500501

関連コマンド

mdelnull : 置換ではなく、行を削除したい場合はこちら。

mchgstr : NULL値でなく文字列を置換したい場合に使用する。

Previous: mnrjoin 参照ファイルの複数範囲条件による自然結合 Up: コマンドリファレンス Next: mnumber 連番 MCMD2