java代碼實現將無表頭.txt文本文件轉化爲weka能識別.arff文件

首先,我們要有一個.txt文件,每一行中的元素個數是相同的(因爲每一行中的每一個元素就代表了一種類型的屬性值),文尾已奉上,讀者自行下載。有的就不用下載了,

然後,,,

代碼如下,具體的就不細講了

import java.io.*;
import java.util.ArrayList;

/**
 * Created by Administrator on 2016/10/20.
 */
public class dataMinner {
    public static void main(String[] args) throws IOException {
        FileReader reader = new FileReader("E:\\50words_TRAIN.txt");
        BufferedReader br = new BufferedReader(reader);
        StringBuffer sb = new StringBuffer("");
        String str=null;
        str=br.readLine();
        String str2=str;
        String[] attributes = str.split(",");
        while((str=br.readLine())!=null){
            sb.append(str+"\r\n");
        }
        br.close();
        reader.close();


        FileWriter writer = new FileWriter("E:\\50words_TRAIN.arff");
        BufferedWriter bw = new BufferedWriter(writer);
        bw.write("@relation"+" "+"test"+"\r\n");
        for(int i = 0;i<attributes.length;i++){
            bw.write("@attribute"+" "+"attribute"+i+" "+"numeric"+"\r\n");
        }
        bw.write("@data"+"\r\n");
        bw.write(str2+"\r\n");
        bw.write(sb.toString());
        bw.close();
        writer.close();

    }

}

在此需注意的是java中換行符的表示是 \r\n ,而不是 \n ,因爲windows不能識別 \n 


























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章