java程式碼實現將無表頭.txt文字檔案轉化為weka能識別.arff檔案
阿新 • • 發佈:2019-01-22
首先,我們要有一個.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