5.15. mcut 項目の選択

指定した項目を選択する。 r オプションを付けると、指定した項目を削除する。

パラメータ

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

入力データを指定する。

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

出力データを指定する。

f= : 型=str , 必須

抜き出す項目名
項目名をコロンで区切ることで、出力項目名を変更することができる。
ex. f=a:A,b:B

r= : 型=bool , 任意(default=False)

項目削除スイッチ
f= で指定した項目を削除し、それ以外の項目が抜き出される。

nfni= : 型=bool , 任意(default=False)

入力データの1行目を項目名行とみなさない。よって項目番号で指定しなければならない。
以下のように、新項目名を組み合わせて指定することで項目名行を追加出力することが可能となる。
例)f=0:日付,2:店,3:数量

共通パラメータ

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'''customer,quantity,amount
 6A,1,10
 7A,2,20
 8B,1,15
 9B,3,10
10B,1,20
11''')
12
13with open('dat2.csv','w') as f:
14  f.write(
15'''A,1,10
16A,2,20
17B,1,15
18B,3,10
19B,1,20
20''')

基本例

customeramount 項目を選択する。ただし、 amount 項目は sales と名前を変更して出力している。

1nm.mcut(f="customer,amount:sales", i="dat1.csv", o="rsl1.csv").run()
2### rsl1.csv の内容
3# customer,sales
4# A,10
5# A,20
6# B,15
7# B,10
8# B,20

項目削除

r=True を指定することで、項目を削除できる。

1nm.mcut(f="customer,amount", r=True, i="dat1.csv", o="rsl2.csv").run()
2### rsl2.csv の内容
3# quantity
4# 1
5# 2
6# 1
7# 3
8# 1

項目名なしデータ

ヘッダなし入力ファイルから、0,2番目の項目を選択し、 customeramount という名前で出力する。

1nm.mcut(f="0:customer,2:amount", nfni=True, i="dat2.csv", o="rsl3.csv").run()
2### rsl3.csv の内容
3# customer,amount
4# A,10
5# A,20
6# B,15
7# B,10
8# B,20

関連メソッド