openpyxl - 엑셀파일의 데이터 가져오기
본문 바로가기
파이썬(Python)/파이썬으로 엑셀 제어하기

openpyxl - 엑셀파일의 데이터 가져오기

by Squat Lee 2020. 12. 19.

이번 포스트는 openpyxl 모듈을 사용하여 이미 만들어진 엑셀파일의 데이터를 가져오도록 하겠습니다.

 

제가 엑셀은 VBA가 익숙하다 보니깐 python으로 엑셀을 다루려고 하다보니 많이 헷갈리네요..

 

우선 필요한 모듈을 불러옵니다.

 

'openpyxl' 중에서 엑셀파일을 불러 오기 위해서는 'load_workbook' 모듈이 필요합니다.

 

엑셀파일의 경로를 지정해주고 'wb'라는 변수에 입력합니다. 그리고 엑셀파일에서 활성화 된 시트를 'ws'라는 변수에 입력합니다.

 

엑셀시트에 임의로 글자를 입력해서 저장합니다. 

 

이 글자를 파이썬으로 불러오도록 하겠습니다.

 

'시트['셀위치']].value' 형식으로 쓰면 해당셀의 값이 불러와집니다.

 

셀 값을 불러오는 다른 방법도 있습니다.

 

 

'시트.cell(row=행번호, column=열번호). value' 를 해도 해당셀의 값이 불러와 집니다.

 

그리고 'row'와 'column'을 생략하고 행,열에대한 숫자값만 넣어도 됩니다.

 

결과값이 제대로 나왔습니다.

 

이번에는 데이터를 입력해 보도록 하겠습니다.

 

for 문을 써서 'B1' 셀부터 'B99'셀가지 글자를 입력해 보겠습니다.

 

마지막에 엑셀파일을 저장해야 하니 주의하시기 바랍니다.

 

제대로 입력이 되었습니다.

 

이제는 시트를 하나 추가해서 엑셀파일에 입력한 데이터를 새로운 데이터에 복사 해 보도록 하겠습니다.

 

'create_sheet'라는 함수를 써서 'Test'라는 시트를 만들었습니다. 시트를 만들고 나서 파일을 항상 저장해 주어야 합니다. 

 

새로운 시트가 잘 만들어졌네요.

 

이제 여기에다 먼저 입력한 데이터를 복사해 보도록 하겠습니다.

 

우선 새로만든 시트를 'ws_test'라는 변수에 저장합니다.

 

'iter_rows'라는 함수는 해당 시트에서 한 행씩 데이터를 가져오는 함수 입니다.

 

한 행씩 가져온 데이터는 다시 한번 For문을 반복해서 각 셀의 데이터를 'data'라는 변수에 list형식으로 저장하게 됩니다.

 

이 저장된 data변수의 list를 새로만든 'Test' Sheet에 추가합니다.

 

 

결과가 잘 나왔습니다.

 

값만 가져오려고 한다면 이렇게 사용할 수도 있습니다.

 

'ws.values'를 사용하면 시트에서 값만 가지고 옵니다.

 

결과가 잘 나오네요.

 

'iter_rows'함수에서 각 행,열의 최소값과 최대값을 지정할 수 있습니다.

 

최소열을 2로 지정하고 최대행을 50으로 지정해서 실행해 보도록 하겠습니다.

결과는 예상대로 B행의 50열 까지만 데이터를 가져왔네요.

 

append 함수를 써서 열은 "A" 열에 입력이 되었습니다.

 

 

혼자 공부하는 첫 프로그래밍 with 파이썬:1:1 과외하듯 배우는 왕초보 코딩 입문서, 한빛미디어

쿠팡파트너스 활동으로 쿠팡으로부터 소정의 수수료를 받을 수 있습니다.

 

 

CAGR(연복리 수익률) 30%를 목표로 하는 파이썬 퀀트투자법이 궁금하시다면 아래 포스트를 클릭해 보시기 바랍니다.

2021.11.21 - [집구석 강의/파이썬 퀀트투자 쉽게하기] - 파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

 

파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

퀀트투자는 참으로 매력적인 투자방법입니다. 일정한 기준으로 종목을 선별해서 일정한 기간 후에 기계적으로 매도하고, 다시 같은 방법으로 매수합니다. 이런 작업을 계속해서 반복하다 보면

dotsnlines.tistory.com

 

 

728x90
반응형

댓글