본문으로 건너뛰기
실습하기

판매 실적 보고서 엑셀 데이터를 파이썬으로 불러오기

이번 과제는 엑셀로 내려받은 판매 실적 데이터를 표로 변환하고 정량적 인사이트를 도출하여 워드 문서를 만듭니다.

먼저 openpyxl 라이브러리를 사용해 엑셀 파일을 읽고, 필요한 데이터를 추출해 보고서 작성에 필요한 데이터를 구성해 보겠습니다.


판매 실적 데이터 예시

과제에 사용할 판매 실적 데이터는 1월, 2월, 3월에 대한 카메라, 컴퓨터, 스마트폰의 판매 실적을 나타냅니다.

이 데이터는 각 제품의 객단가, 판매량, 그리고 월별 매출 정보를 포함하고 있습니다.

제품판매량객단가매출
1월카메라50500,00025,000,000
1월컴퓨터301,200,00036,000,000
1월스마트폰100900,00090,000,000
2월카메라45480,00021,600,000
2월컴퓨터351,150,00040,250,000
2월스마트폰90850,00076,500,000
3월카메라40470,00018,800,000
3월컴퓨터401,100,00044,000,000
3월스마트폰95800,00076,000,000

엑셀 데이터를 파이썬으로 불러오기

openpyxl 라이브러리로 엑셀 파일을 불러오고, 각 행의 데이터를 출력해보겠습니다.

엑셀 파일 불러오기
import openpyxl

# 엑셀 파일 불러오기
wb = openpyxl.load_workbook('input_file.xlsx')
sheet = wb.active

# 각 행의 데이터를 출력하기
# 첫 번째 행은 헤더이므로 제외
for row in sheet.iter_rows(min_row=2, values_only=True):
month, product, sales, price, revenue = row
print(f"월: {month}, 제품: {product}, 판매량: {sales}, 객단가: {price}, 매출: {revenue}")

코드 설명

  1. openpyxl.load_workbook('input_file.xlsx'): 엑셀 파일을 불러와 wb 객체에 저장합니다. 이때, 파일 이름은 엑셀 파일의 실제 경로와 이름을 입력해야 합니다.

  2. sheet = wb.active: 현재 활성화된 엑셀 시트를 선택합니다. 기본적으로 첫 번째 시트가 선택됩니다.

  3. sheet.iter_rows(min_row=2, values_only=True): 두 번째 행부터 데이터를 읽습니다. min_row=2는 첫 번째 행을 제외하고 데이터를 가져오겠다는 뜻입니다. values_only=True는 셀 값만 반환하고, 셀 자체의 정보를 제외합니다.

  4. for row in sheet.iter_rows: 각 행의 데이터를 반복하면서 월, 제품, 판매량, 객단가, 매출 정보를 변수에 저장하고 출력합니다.


엑셀 데이터 출력 결과
월: 1월, 제품: 카메라, 판매량: 50, 객단가: 500000, 매출: 25000000
월: 1월, 제품: 컴퓨터, 판매량: 30, 객단가: 1200000, 매출: 36000000
월: 1월, 제품: 스마트폰, 판매량: 100, 객단가: 900000, 매출: 90000000
월: 2월, 제품: 카메라, 판매량: 45, 객단가: 480000, 매출: 21600000
월: 2월, 제품: 컴퓨터, 판매량: 35, 객단가: 1150000, 매출: 40250000
월: 2월, 제품: 스마트폰, 판매량: 90, 객단가: 850000, 매출: 76500000
월: 3월, 제품: 카메라, 판매량: 40, 객단가: 470000, 매출: 18800000
월: 3월, 제품: 컴퓨터, 판매량: 40, 객단가: 1100000, 매출: 44000000
월: 3월, 제품: 스마트폰, 판매량: 95, 객단가: 800000, 매출: 76000000

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!