선수로 산다, 때론 좋은 코치로
[golang] 엘라스틱서치로 우리은행 거래내역 분석하기-엑셀파일 읽기 본문
[golang] 엘라스틱서치로 우리은행 거래내역 분석하기-엑셀파일 읽기
우리은행에서 거래내역으로 다운로드 받은 파일은 엑셀파일(.xls)이다.
golang에서 엑셀파일을 읽어보자. golang excel read를 검색한다.
github 페이지에 접속한다. - https://github.com/tealeg/xlsx
샘플을 이용하여 다운받은 엑셀파일을 읽는다.
한번에 되면 좋을텐데, 에러가 발생한다.
엑셀파일을 읽을 때, zip: not a valid zip filepanic 오류가 발생한다. 확인해 보면 라이브러리는 최신 엑셀파일을 읽을 수 있는데, 우리은행의 엑셀파일은 2003년 포맷이다.
"convert old xls to xlsx"를 검색하면 온라인으로 변환을 제공하는 사이트를 찾을 수 있다. 변환도구나 변환하는 사이트를 이용할 수도 있고, 엑셀이 설치되어 있으면 엑셀에서 읽은 후에 다른이름으로 저장하기에서 "Excel 통합 문서"를 선택하면 된다.
그러면 같은 이름의 확장자만 "xlsx"인 파일로 변환하여 저장한다.
소스코드에서 확장자를 과거거래내역조회2017.xlsx로 변경한 후 다시 실행한다.
983
2017.12.29 15:46
KIS-BANK
0955935003825
251100
0
-2449297
095593
984
2017.12.29 17:48
타행납부
국민—청약저축
100000
0
-2549297
지점
잘 읽어지는 걸 확인할 수 있다.
이후 엑셀파일의 인코딩을 EUC-KR에서 UTF-8로 변환한 후 CSV 파일로 저장한다.
참고자료
Office Migration Planning Manager overview for Office 2010
- https://technet.microsoft.com/en-us/library/cc179179(v=office.14).aspx
- Office File Converter (OFC)
'Convert XLS' Comprehensive Excel Converter Tool
- http://www.softinterface.com/Convert-XLS/Convert-XLS.htm
- XLS에서 CSV로 변환 가능함.
- UTF-8 with BOM으로 Encoding 변환 가능함
- command line 지원: http://www.softinterface.com/Convert-XLS/Features/Convert-XLS-To-CSV.htm#sii-command-line-detailed
'개발 관련 > go' 카테고리의 다른 글
[golang] 숫자 야구 프로그램 (0) | 2020.09.07 |
---|---|
[golang] 인코딩 변환하기(euc-kr > utf-8) (0) | 2018.02.20 |
[golang] A Tour of Go - 61 연습 문제 (0) | 2018.02.13 |
[golang] A Tour of Go - 60 연습 문제 (0) | 2018.02.13 |
[golang] A Tour of Go - 58 연습 문제 (0) | 2018.02.12 |