2017-12-19 1 views
0

golang에서 큰 Excel 파일을 읽으려고합니다. 열 수를 찾아야합니다.Excel 시트의 행 수와 열 수 얻기

https://godoc.org/github.com/360EntSecGroup-Skylar/excelize 라이브러리를 사용하고 있지만 이러한 기능을 찾을 수 없습니다. 파이썬에서

Golang에서 유사한 https://xlrd.readthedocs.io/en/latest/api.html#xlrd.sheet.Sheet.ncols

있나요?

+1

xlsx 인 경우 아주 작은 메모리를 사용하여 xml의 관련 부분을 구문 분석 할 수 있습니다. –

답변

2

Excel에는 고정 된 수의 열이 없습니다. 원하는 것은 모든 행에서 발견되는 열의 최대 수입니다.

정확하게 이것은 Sheet.ncols입니다. excelize과 동일한 결과를 얻으려면 GetRows을 호출하고 모든 행을 반복하며 모든 행에서 가장 많은 수의 열을 찾습니다.

+0

내 문제는 메모리입니다. 파이썬 스크립트를 golang으로 포팅하고 싶습니다. 파이썬이 전체를 메모리에서 읽는지 확실하지 않습니다. go : 1GB 이상의 메모리 파이썬 : 몇 MB 또한 파이썬에서는 13s에서 파일을로드하고 처리하며 45s를 읽습니다. – gosom

+1

전체 시트를로드하는 대신 반 복 모드를 허용하기 위해 go 라이브러리의 개발자와 기능 요청을 제출하는 것이 좋습니다. – Marc

2

라이브러리에 원하는 기능을 정확히 수행하는 것처럼 보입니다. 단지 공개가 아닙니다. here을 참조하십시오.

공개적으로 노출 될 수 있는지 확인하기 위해 홍보를 신청합니다. 메모리가 문제가되는 이유는 현재 라이브러리의 총 행/열 수를 얻는 유일한 방법은지도가 모든 단일 셀로 구성된다는 것입니다 (GetRows 참조).

+0

멋진 잡기. 불행히도 OpenFile을 사용하면 메모리에있는 모든 것을 읽습니다. 나는 조금 더 조사 할 것이다. – gosom

관련 문제