왠만한 프로그래밍 언어로 엑셀 파일을 다루는 것은 꽤나 복잡한 일이 아닐 수 없습니다.
그래서, 혹시나 하는 마음에 파이썬에서 관련 라이브러리가 있나 찾아봤더니, 역시나 있었습니다.
관련 라이브러리명은 xlrd / xlwt 로, 각각 엑셀 파일을 읽고/쓰는 역할을 합니다.
라이브러리에 대한 자세한 문서는 아래 링크를 참고해주세요.
그럼 라이브러리 각각의 사용 방법을 설명하겠습니다.
xlrd - 엑셀 파일 데이터 읽기 라이브러리 |
설치 방법#
여기서는 pip를 이용하여 관련 라이브러리를 설치할 것이므로, pip를 선행으로 설치해주세요.
pip 설치 방법은 아래와 같습니다.
윈도우/리눅스 pip 설치 따라하기
pip를 이용하여 xlrd를 설치합니다.
1 | pip install xlrd | cs |
사용 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 | import xlrd workbook = xlrd.open_workbook('example.xlsx') print workbook.sheet_names() # 엑셀 파일의 모든 시트 이름을 리스트 형식으로 가져온다. for sheet in workbook.sheets() : print sheet.name # 시트의 이름을 가져온다. for i in range(sheet.nrows) : row = sheet.row(i) for j in row: print j.value, print '' | cs |
파일 읽기#
아래 함수를 이용하여 엑셀 파일을 읽어옵니다.
1 | workbook = xlrd.open_workbook('example.xlsx') | cs |
데이터 시트 다루기#
모든 시트의 이름을 가져오기.
1 | workbook.sheet_names() | cs |
모든 시트 가져오기.
1 | workbook.sheets() | cs |
이름으로 시트 가져오기.
시트의 이름이 ex1 라면, sheetname에 ex1을 넣어주면 됩니다.
1 | worksheet_name = workbook.sheet_by_name(sheetname) | cs |
인덱스로 시트 가져오기.
시트의 인덱스 번호를 입력하여 해당 시트를 가져옵니다. 첫 번째 시트는 0부터 시작합니다.
1 | worksheet_index = workbook.sheet_by_index(index) | cs |
데이터 다루기#
줄 수 가져오기.
1 | num_rows = worksheet_name.nrows | cs |
칸 수 가져오기.
1 | num_cols = worksheet_name.ncols | cs |
줄 값 가져오기.
1 | row_val = worksheet_name.row_values(row_index) | cs |
셀 값 가져오기.
1 | cell_val = worksheet_name.cell_value(row_index,cell_index) | cs |
xlwt - 엑셀 파일 데이터 쓰기 라이브러리 |
xlwt의 경우에는 딱히 많은 것을 생각할 필요는 없고, 엑셀에 쓸 내용만 넣어주면 됩니다.
사용 예제#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import xlwt workbook = xlwt.Workbook(encoding='utf-8') workbook.default_style.font.height = 15*15 worksheet = workbook.add_sheet('ex1') font_style = xlwt.easyxf('font:height 280;') worksheet.row(0).set_style(font_style) worksheet.write_merge(0, 2, 0, 0, "Example1") worksheet.write_merge(0, 0, 1, 3, "Example2") worksheet.write_merge(0, 0, 4, 6, "Example3") worksheet.write(1, 1, "Test1") worksheet.write(1, 2, "Test2") worksheet.write(1, 3, "Test3") workbook.save('example2.xls') | cs |
파일 쓰기#
파일을 쓰기 위한 설정.
1 | workbook = xlwt.Workbook(encoding='utf-8') | cs |
데이터를 처리한 내용을 저장하기.
1 | workbook.save(filename) | cs |
데이터 시트 다루기#
데이터 시트 생성.
1 | worksheet = workbook.add_sheet(sheetname) | cs |
데이터 다루기
줄의 폰트 스타일 설정.
1 | worksheet.row(index).set_style(font_size) | cs |
칸 너비 설정.
1 | worksheet.col(index).width = 256*(len(key)+1) | cs |
셀 칸에 값 입력.
1 | worksheet.write(row_num,col_num,value) |
셀 칸의 병합 및 값 입력.
1 | worksheet.write_merge(top_row_num,bottom_row_num,left_col_num,right_col_num,value) | cs |
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 파이썬 마우스 제어하는 방법 (PyAutoGUI 라이브러리 이용) (1) | 2019.06.23 |
---|---|
Pyinstaller 이용하여 Python 소스코드 실행파일(exe)로 만들어보자. (3) | 2019.06.08 |
[Python] 파이썬 문자열 표현 방법 (raw/multi line) (0) | 2018.08.19 |
[파이썬/Python] 파이썬 코드에서 Bash 명령어 실행 방법 (0) | 2018.06.03 |
[파이썬/ Python] 파이썬 주석 한글 입력 방법 (0) | 2018.06.03 |
댓글