본문 바로가기
프로그램/JAVA

[ Java ] excel의 csv 파일을 읽어 2차원배열에 옮기기

by 구서기 2013. 4. 2.

 

Regression_ver20130401.csv

[test.java]파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 * 모듈내용:    CSV파일읽기
 * 작성일자:     2013.04.02 / 2016.04.14 확인테스트
 * 작성자명:    HwangKyuseok
 * 
 * [참고사이트]    http://newlkb.blogspot.kr/2011/05/csv.html
 * 
 * */
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
 
public class test {
 
    public static void main(String[] args) {
        float[][] indat = new float[2880][6];
        
        try {
            // csv 데이타 파일
            //File csv = new File("d:\\data\\Regression_ver20130401.csv");
            File csv = new File("d:\\Regression_ver20130314.csv");
            BufferedReader br = new BufferedReader(new FileReader(csv));
            String line = "";
            int row =0 ,i;
 
            while ((line = br.readLine()) != null) {
                // -1 옵션은 마지막 "," 이후 빈 공백도 읽기 위한 옵션
                String[] token = line.split(","-1);
                for(i=0;i<6;i++)    indat[row][i] = Float.parseFloat(token[i]);
                
                // CSV에서 읽어 배열에 옮긴 자료 확인하기 위한 출력
                for(i=0;i<6;i++)    System.out.print(indat[row][i] + ",");
                System.out.println("");
                
                row++;
            }
            br.close();
 
        } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
    }        
 
}
cs

 

[ csv 파일 ]

6개의 필드와 2880개의 행(레코드)

 

 

 

[결과화면]