백엔드개발

스터디

[SpringBoot] [Java] OpenCSV 사용해서 CSV 파일 파싱하기!

오늘은 CSV 파일 파싱을 손쉽게 할 수 있도록 도와주는 자바의 OpenCSV 라는 라이브러리를 사용해서, 이전에 길고 복잡하게 수행했던 save() 함수를 바꿔보려한다. 우선 저번에 만들었던 JpaParkRepository.java 의 save() 함수를 기억해야한다. save() 함수는 CSV 파일에 있는 데이터를 BufferedReader 로 한 라인씩 가져온 뒤 ,(콤마) 를 기준으로 컬럼들은 구분해서 DB의 각 컬럼에 저장시켜주는 동작을 수행했다. 하지만 ,(콤마) 를 기준으로 했을 때 컬럼의 데이터 안에 ',' 라는 문자가 포함되어 있을 때 파싱이 제대로 수행되지 않는 오류가 발생하여 windows 제어판에서 구분자를 다른 걸로 바꿔주는 귀찮은 작업을 수행하기도 했다. [어따세워] CSV 파일..

Language/JAVA

[Java] 윈도우 설정으로 CSV 파일 ,(콤마) 말고 다른 구분자로 변경하기!

오늘 포스팅할 내용은 프로젝트 중에 발견한 애로사항과 그 해결 과정을 공유해서 같은 문제를 겪는 사람들에게 도움이 되고자 하는 마음에 올리는 포스팅이다! 바로 본론으로 들어가겠다. CSV 파일은 , (콤마)로 컬럼들을 구분하도록 되어있는 파일이다. 하지만 내용에 ',' 이 들어있으면 파싱 시 맞지 않는 컬럼에 데이터가 이상하게 쪼개져 들어가게 된다. 나는 이번 프로젝트 진행 중, CSV 파일의 모든 데이터를 DB에 넣는 작업을 거쳐야 했다. "CSV는 당연히 콤마를 기준으로 데이터들이 분류되어있는 파일이니까 split(",") 를 하면 row에서 column들이 알아서 분리되겠지?" 라는 생각에 로직을 이대로 작성했고 문제는 여기서 발생했다. 컬럼의 내용 중에 ,(콤마) 를 포함한 데이터가 많이 있었고,..

카테고리 없음

[SpringBoot] [어따세워] BufferedReader로 CSV파일 파싱하기!(2)

지난 시간에는 가벼운 정보만 담겨있는 샘플 CSV파일을 파싱해보는 과정을 포스팅했다. (지난 게시글 보러가기) [SpringBoot] [어따세워] BufferedReader로 CSV파일 파싱하기!(1) 지난 시간엔 'Servlet Controller' 'JPA' 'MySQL' 을 이용해 회원 정보 등록 기능을 구현했다. https://pgmjun.tistory.com/8 [Spring] [어따세워] Servlet, JPA, MySQL 이용해서 회원가입 서비스 만들기!(2) 지난.. pgmjun.tistory.com 이번 포스팅은 샘플자료가 아닌 실제 사용할 데이터가 담긴 CSV을 파싱하여 DB에 저장하는 과정과, 구현하지 않았던 findByAddr(), findByLocation(), findAll() ..

PgmJUN
'백엔드개발' 태그의 글 목록