728x90
구글폼에서 데이터를 엑셀 파일로 저장하고 해당 데이터를 사용하여 프로그램을 사용 할 경우가 생겼다.
그래서 엑셀에서 csv 파일로 떨구고 java 프로그램으로 읽어서 사용하기로 하였다.
예를 들어 아래와 같은 player.csv 파일을 만들고,
name,age
손흥민,29
이강인,20
박지성,40
filePath에 해당 경로를 넣어주면,
private List<List<String>> readCSVFile(String filePath) {
List<List<String>> list = new ArrayList<List<String>>();
BufferedReader bufferedReader = null;
try {
bufferedReader = Files.newBufferedReader(Paths.get(filePath));
String line = "";
while ((line = bufferedReader.readLine()) != null) {
List<String> stringList = new ArrayList<>();
String stringArray[] = line.split(",");
stringList = Arrays.asList(stringArray);
list.add(stringList);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
assert bufferedReader != null;
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return list;
}
728x90
맨위 리스트의 0번 인덱스는 첫번째 줄의 내용이 담기고, 해당 리스트의 0번 인덱스는 이름, 1번 인덱스에는 나이가 저장된다.
리스트에는 순서대로 데이터가 담겨지고,
List<List<String>> list = readCSVFile("player.csv");
for (List<String> item : list) {
System.out.println(item.get(0) + "의 나이는 " + item.get(1) + "살 입니다.");
}
실행을 시키면 아래처럼 출력이 됩니다.
name의 나이는 age살 입니다.
손흥민의 나이는 29살 입니다.
이강인의 나이는 20살 입니다.
박지성의 나이는 40살 입니다.
728x90
'프로그래밍' 카테고리의 다른 글
[java] 10진수 16진수로 변경하기 (hex) (0) | 2021.09.15 |
---|---|
json to jsonl (json lists) 변경하기 (0) | 2021.05.05 |
안드로이드 앱 개인정보 처리 방침 (0) | 2020.01.26 |
IOS 앱 개인정보 처리 방침 (0) | 2020.01.26 |
[GCP] Load balancing with firewall rules (0) | 2018.12.14 |