Allen's 데이터 맛집

[1] Java를 사용한 CSV 파일 읽기 및 데이터 분석 본문

etc Project/범죄 데이터 간단한 분석

[1] Java를 사용한 CSV 파일 읽기 및 데이터 분석

Allen93 2024. 8. 31. 11:07
일단 Java를 사용하여 CSV 파일을 읽고 데이터를 처리해 보겠습니다. 특히, csvReader 클래스를 사용하여 CSV 파일의 데이터를 2차원 배열에 저장하고 이를 출력해 보겠습니다.

 

 

CSVReader 클래스

 

csvReader 클래스는 CSV 파일을 읽어와 데이터를 2차원 배열에 저장하고 이를 출력하는 간단한 Java 프로그램입니다.

 

코드 설명

import java.io.*;

public class csvReader {
 
    public static void main(String[] args) {
        String[][] indat = new String[26][7]; // CSV 파일을 읽고 저장할 배열 선언
        
        try {
            // csv 데이터 파일
            File csv = new File("path/to/your/csvfile.csv"); // 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 < 7; i++) {
                    indat[row][i] = (token[i]);
                }
                
                // CSV에서 읽어 배열에 옮긴 자료 확인하기 위한 출력
                for(i = 0; i < 7; i++) {
                    System.out.print(indat[row][i] + ",");
                }
                System.out.println("");
                row++;
            }           
            br.close();    
        } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
        } 
        catch (IOException e) {
            e.printStackTrace();
        }
    }    
}

 

 


주요 구성 요소

 

  1. CSV 파일 경로 지정:
File csv = new File("path/to/your/csvfile.csv"); // CSV 파일 경로를 지정

 

  • CSV 파일의 경로를 지정합니다. 실제 사용 시 파일 경로를 적절히 변경해야 합니다.

 

2. BufferedReader를 사용하여 파일 읽기:

BufferedReader br = new BufferedReader(new FileReader(csv));

 

 

 

  • BufferedReader와 FileReader를 사용하여 CSV 파일을 읽습니다.

 

3. 2차원 배열 선언:

String[][] indat = new String[26][7]; // CSV 파일을 읽고 저장할 배열 선언

 

 

  • CSV 파일의 데이터를 저장할 2차원 배열을 선언합니다. 여기서는 26행 7열의 배열을 사용합니다.

4. CSV 파일 읽기 및 데이터 저장:

String line = "";
int row = 0, i;

while ((line = br.readLine()) != null) {
    // -1 옵션은 마지막 "," 이후 빈 공백도 읽기 위한 옵션
    String[] token = line.split(",", -1);
    for(i = 0; i < 7; i++) {
        indat[row][i] = (token[i]);
    }

 

 

  • CSV 파일의 각 줄을 읽어 쉼표로 분리한 후, 2차원 배열에 저장합니다.

 

5.데이터 출력:

    for(i = 0; i < 7; i++) {
        System.out.print(indat[row][i] + ",");
    }
    System.out.println("");
    row++;

 

 

  • 배열에 저장된 데이터를 출력하여 제대로 읽혔는지 확인합니다.

 

6. 예외 처리:

catch (FileNotFoundException e) {
    e.printStackTrace();
} 
catch (IOException e) {
    e.printStackTrace();
}

파일을 읽는 도중 발생할 수 있는 예외를 처리합니다.


https://github.com/siilver94/Analyze-Data-in-CSV

 

GitHub - siilver94/Analyze-Data-in-CSV

Contribute to siilver94/Analyze-Data-in-CSV development by creating an account on GitHub.

github.com

 

 

 

728x90