xlrd
ref. 2 에서 openpyxl 과 The xlrd Module를 이야기한다. 속도면에서 python Excel(xlrd) 가 낫다고 해서 그것을 사용하기로 했다.ref 1 에 xlrd 의 사용법이 나와있다.
install
pip install xlrdworkbook, worksheet
workbook 안에 여러개의 worksheet 가 존재한다. 즉, workbook 은 xlsx 파일이라고 생각하면 되고, worksheet 은 xlsx 파일 안에 들어있는 sheet 한개라고 생각하면 된다.sheetName = 'Sheet2' # default encoding is 'ASCII' workbook = xlrd.open_workbook('my_file_name.xls', on_demand=True, # on_demand 는 파일이 아주 클때 사용 encoding_override='cp949') worksheet = workbook.sheet_by_name(sheetName)
cell 읽기
if worksheet.cell(0, 0).value == xlrd.empty_cell.value: # Do something
cell 의 값은 cell(row, column) 으로 읽을 수 있다. cell 의 값이 비어있는 것(empty )에 대한 처리는 위의 code 처럼 하면 된다.
자세한 API 내용은 문서를 참고하자.
성능
debugger 로 열때 성능이 나오지 않는다. visual studio code 의 debugger 로 실행을 하는경우 꽤 오래걸린다. 1.2MB 정도의 xlsx 를 open 하는 경우에 몇분정도 소요된다. (cpu : intel i3-2100 @ 3.1GHz), 다른 debugger 로 실행하면 괜찮을 수 있을지 모르겠다.debugger 를 통하지 않고, 직접 실행한다면 괜찮다.
하지만 66MB 정도의 xlsx 는 직접실행해도 너무 오래 걸려서 중간에 멈췄다.
Reference
- Using Python to Parse Spreadsheet Data
- xls - Reading xlsx files using Python - Stack Overflow
- The xlrd Module
댓글 없음:
댓글 쓰기