5.48. msep レコードの分割

d= パラメータで指定したデータのデータに各レコードを出力する。 指定するデータに項目名を埋め込むことができるので、結果としてレコード分割することになる。 埋め込むデータは ${項目名} によって指定する。 例えば、 d=./out/${date}.csv と指定すれば、カレントディレクトリの下の out ディレクトリの下に、 date 項目の値別にデータが作成されることになる。 内部的には、埋め込んだ項目の値をキーとして認識し、並べ替えが行われた後レコードが分割される。

パラメータ

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

入力データを指定する。

d= : 型=str , 必須

異なるデータデータに分割する項目名を指定する。
ここで指定した文字列をデータとして各レコードが追記されていく。
項目名は ${項目名} によって埋め込む。

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

出力する項目名を指定する。

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

d= パラメータで指定したディレクトリ名が存在しなければ作成する。

共通パラメータ

i= , assert_nullin= , 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'''item,date,quantity,price
 6A,20081201,1,10
 7B,20081201,4,40
 8A,20081202,2,20
 9A,20081203,3,30
10B,20081203,5,50
11''')

基本例

dat という名前のディレクトリを作成し、 そのディレクトリに日付項目値 date ごとに異なるファイルに出力する。

1nm.msep(d="./dat/${date}.csv", p=True, i="dat1.csv").run()
2###  の内容

関連メソッド

  • mcat 併合 : msep で分割したデータをこのコマンドで併合すると元に戻る。