5.24. mkeybreak キーブレイク箇所¶
k=
パラメータで指定した項目をキー項目について、先頭と終端に印を付ける。
先頭は top
項目に、終端は bot
項目に 1
を出力する。
先頭/終端でない行はNULL値を出力する。
パラメータ¶
i= : 型=str , 任意(default=標準入力)
入力データを指定する。
o= : 型=str , 任意(default=標準出力)
出力データを指定する。
k= : 型=str , 必須
集計キーとなる項目名リスト(複数項目指定可)を指定する。
s= : 型=str , 任意(default=)
ここで指定した項目(複数項目指定可)で並べ替えた後、先頭・終端に印を付ける。
a= : 型=str , 任意(default=top,bot)
先頭と終端の印を出力する項目名を指定する。
共通パラメータ¶
i= , o= , assert_diffSize= , assert_nullkey= , assert_nullout= , nfn= , nfno= , x= , q= , tmppath= , precision=
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''id,k1,k2,val 61,A,a,1 72,A,b,2 83,A,b,3 94,B,a,4 105,B,a,5 11''')
基本例
k1
項目で並べ替えた後、 k1
キー項目の先頭( top
項目)と終端( bottom
項目)に印( 1
)をつける。
1nm.mkeybreak(k="k1", i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# id,k1%0,k2,val,top,bot 4# 1,A,a,1,1, 5# 2,A,b,2,, 6# 3,A,b,3,,1 7# 4,B,a,4,1, 8# 5,B,a,5,,1
2項目キー
k1
・ k2
項目で並べ替えた後、 k1
キー項目の先頭( top
項目)と終端( bottom
項目)に印( 1
)をつける。
1nm.mkeybreak(s="k1,k2", k="k1", i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# id,k1,k2,val,top,bot 4# 1,A,a,1,1, 5# 2,A,b,2,, 6# 3,A,b,3,,1 7# 4,B,a,4,1, 8# 5,B,a,5,,1