Appia의 IT세상

엑셀[Excel] Win32com을 입력받은 데이터 양(행,열)가 불규칙할 때 사용하기 좋은 팁 본문

Python/Python 응용

엑셀[Excel] Win32com을 입력받은 데이터 양(행,열)가 불규칙할 때 사용하기 좋은 팁

Appia 2021. 7. 5. 06:41
반응형

엑셀[Excel] Win32com을 입력받은 데이터 양(행,열)가 불규칙할 때 사용하기 좋은 팁

예전에 엑셀(Excel)을 파싱하여 데이터를 가지고 작업을 해야하는 경우가 많았습니다. 처음에는 열의 사이즈가 정해져서, 딱 그만큼만 읽어와서 작업을 하면되었지만, 시간이 지나면서 이 부분들이 계속 변경이 되었습니다. 그래서, 범용적으로 사용하기 위한 방법을 물색중 다음과 같은 방식으로 사용을 할 것을 제안을 하였습니다. 

 

먼저, 항상 데이터값이 존재하는 한 구역을 범위로 잡습니다. 그리고, 그 부분이 공백일 경우 데이터가 없다고 간주하는 것입니다. 

예시 

저의 경우 A Column을 기준으로 삼았습니다. 만약 A Column에서 데이터가 없다면 셀의 데이터가 없다고 간주하는 것입니다. 그럼, 이제는 코드에서 한번 살펴보겠습니다. 

 

import win32com.client

excel = win32com.client.Dispatch("Excel.Application")

excel.Visible = True

Path = "파일 경로 입력"

workbook = excel.Workbooks.open(Path)  

sheet = workbook.Worksheets("Sheet1")

ConditionNumber = 40000
for i in range(1,ConditionNumber):
    if sheet.Cells(1,i).Value == None : 
    	break
    else : 
    	#Data를 읽어오는 로직 입력 
        ....
        
    

위와 같은 형태로 코드를 작성할 수 있습니다. 그럼, 원하시는 데이터 값이 상관 없이 40000열 내에서 A Column의 공백이 있다면 반복문이 정지합니다. 이와 같은 방식으로 데이터가 불규칙할 때 효율적으로 사용할 수 있습니다. 

파이썬 [Python] 017 win32com 이용하여 Excel 제어하기

 

파이썬 [Python] 017 win32com 이용하여 Excel 제어하기

앞서 포스팅에서 pywin32를 설치하는 방법에 대해서 살펴 보았습니다. 그럼 이번 포스팅에서는 엑셀을 다루어 보는 방법에 대해서 살펴보고자 합니다. 물론, 많은 분들이 엑셀 파일을 별도로 다루

appia.tistory.com

이번 포스팅은 엑셀[Excel] Win32com을 입력받은 데이터 양(행,열)가 불규칙할 때 사용하기 좋은 팁이란 주제로 데이터의 양이 불규칙할 때 사용할 수있습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments