5.24. mkeybreak キーブレイク箇所

k= パラメータで指定した項目をキー項目について、先頭と終端に印を付ける。 先頭は top 項目に、終端は bot 項目に 1 を出力する。 先頭/終端でない行はNULL値を出力する。

パラメータ

i= : 型=str , 任意(default=標準入力)

入力データを指定する。

o= : 型=str , 任意(default=標準出力)

出力データを指定する。

k= : 型=str , 必須

集計キーとなる項目名リスト(複数項目指定可)を指定する。

s= : 型=str , 任意(default=)

ここで指定した項目(複数項目指定可)で並べ替えた後、先頭・終端に印を付ける。

a= : 型=str , 任意(default=top,bot)

先頭と終端の印を出力する項目名を指定する。

利用例

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項目キー

k1k2 項目で並べ替えた後、 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

関連メソッド