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] );
}
}
[결과]