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 


























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