5.60. mtonull NULL値へ置換¶
f=
パラメータで指定した項目を対象に、
v=
パラメータで指定した値にマッチした項目データをNULL値に置換する。
マッチの方法としては完全一致(デフォルト)と部分文字列マッチ( sub
オプション)を選択できる。
パラメータ¶
i= : 型=str , 任意(default=標準入力)
入力データを指定する。
o= : 型=str , 任意(default=標準出力)
出力データを指定する。
f= : 型=str , 必須
置換対象の項目名リスト(複数項目指定可)を指定する。
v= : 型=str , 必須
f=
パラメータで指定した項目の値が、ここで指定した文字列リスト(複数項目指定可)のいずれかにマッチすればNULL値に置換する。
sub= : 型=bool , 任意(default=False)
部分文字列マッチを行う。
W= : 型=bool , 任意(default=False)
ワイド文字としてマッチを行う。
共通パラメータ¶
i= , o= , assert_diffSize= , assert_nullin= , nfn= , nfno= , x= , tmppath= , precision=
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''item,quantity,price 6A,0,1 7B,1,0 8C,2,200 9D,3,0 10E,0,298 11''') 12 13with open('dat2.csv','w') as f: 14 f.write( 15'''item,price 16fruit:apple,100 17fruit:peach,250 18fruit:grape,300 19fruit:pineapple,450 20fruit:orange,500 21''')
基本例
quantity
と price
項目が0をNULL値に置換する。
1nm.mtonull(f="quantity,price", v="0", i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# item,quantity,price 4# A,,1 5# B,1, 6# C,2,200 7# D,3, 8# E,,298
NULL値に置換する数字の指定
quantity
と price
項目が0もしくは1をNULL値に置換する。
1nm.mtonull(f="quantity,price", v="0,1", i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# item,quantity,price 4# A,, 5# B,, 6# C,2,200 7# D,3, 8# E,,298
部分文字列マッチでの置換
quantity
と price
項目が0を含めばNULL値に置換する。
1nm.mtonull(sub=True, f="quantity,price", v="0", i="dat1.csv", o="rsl3.csv").run() 2### rsl3.csv の内容 3# item,quantity,price 4# A,,1 5# B,1, 6# C,2, 7# D,3, 8# E,,298
指定の文字列の置換
item
項目に apple、orange、pineapple
を含む値をNULL値に置換する。
1nm.mtonull(f="item", v="apple,orange,pineapple", sub=True, i="dat2.csv", o="rsl4.csv").run() 2### rsl4.csv の内容 3# item,price 4# ,100 5# fruit:peach,250 6# fruit:grape,300 7# ,450 8# ,500
関連メソッド¶
mnullto NULL値の置換 : 逆にNULL値を指定の文字列に置換する。