Android

안드로이드 - csv 파일 읽기

팡세영 2022. 11. 21. 02:20

오늘은 아래 사이트의 opencsv라는 라이브러리를 이용해 csv 파일을 읽어오는 방법에 대해 알아 보겠습니다.

 

https://mvnrepository.com/artifact/com.opencsv/opencsv

 


build.gradle(Module)에서 아래와 같이 의존성을 추가해줍니다.

    implementation 'com.opencsv:opencsv:5.6'

 

그 후 asset 폴더를 아래와 같이 생성 후 읽어 올 csv 파일을 넣어 줍니다.

 

 


제가 읽어올 파일은 동물 병원 정보가 담긴 csv 파일 입니다.

 


assets 파일을 읽기 위해서는 assetManager를 사용해야 합니다.
open을 통해 inputStream을 가져온 후 CSVReader에 inputStreamReader를 사용해서 읽어들입니다.
이때 InputStreamReader 객체를 생성 해주실 때 인코딩을 지정 안해주시면 한글이 깨질 수 있습니다.
 
    private void loadData() throws IOException, CsvException {
        AssetManager assetManager = this.getActivity().getAssets();
        InputStream inputStream = assetManager.open("hospital.csv");
        CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream, "EUC-KR"));

        List<String[]> allContent = (List<String[]>) csvReader.readAll();
        for(String content[] : allContent){
            StringBuilder sb = new StringBuilder("");
            Log.d("csv", content[19] + " 병원명: " + content[21] + " X: " + content[26] + " Y: " + content[27] );
        }
    }

[결과]