5.2. marff2csv arff形式からcsv形式への変換

arff形式(WEKA用のデータフォーマット: http://weka.wikispaces.com/ARFF )のデータからcsv形式のデータへ変換する。 リスト 5.1 にarff形式データのフォーマットを記載する。

リスト 5.1 arff形式の例
 1      @RELATION       タイトル
 2      @ATTRIBUTE      項目名    string(文字列)
 3      @ATTRIBUTE      項目名    date(日時 フォーマット:フォーマットは省略可能。省略した場合は、"yyyy-MM-dd'T'HH:mm:ss" 4      @ATTRIBUTE      数量    numeric(数字)
 5      @ATTRIBUTE      商品    {A,B}(カテゴリ型項目)
 6      @DATA(実データ)
 7      No.1,20081201,1,10,A
 8      No.2,20081202,2,20,A
 9      No.3,20081203,3,30,A
10      No.4,20081201,4,40,B
11      No.5,20081203,5,50,B

パラメータ

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

入力データを指定する。

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

出力データを指定する。

共通パラメータ

i= , o= , assert_nullout= , nfn= , nfno= , x= , q= , tmppath= , precision=

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.arff','w') as f:
 4  f.write(
 5'''@RELATION       customerPurchaseData
 6@ATTRIBUTE      customer    string
 7@ATTRIBUTE      date    date yyyyMMdd
 8@ATTRIBUTE      quantity    numeric
 9@ATTRIBUTE      amount    numeric
10@ATTRIBUTE      item    {A,B}
11@DATA
12No.1,20081201,1,10,A
13No.2,20081202,2,20,A
14No.3,20081203,3,30,A
15No.4,20081201,4,40,B
16No.5,20081203,5,50,B
17''')

基本例

arff形式の顧客購買データをcsv形式のデータへ変換する。

1nm.marff2csv(i="dat1.arff", o="rsl1.csv").run()
2### rsl1.csv の内容
3# customer,date,quantity,amount,item
4# No.1,20081201,1,10,A
5# No.2,20081202,2,20,A
6# No.3,20081203,3,30,A
7# No.4,20081201,4,40,B
8# No.5,20081203,5,50,B

関連メソッド