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

월별 매출 데이터 분석 후 이메일로 보고서 발송하기

회사에서 매달 고객별 매출 보고서를 작성해 이메일로 발송하는 일이 많습니다.

고객마다 다른 데이터를 처리하다 보면 수작업으로는 시간이 많이 걸리고, 실수의 위험도 큽니다.

이러한 반복 작업을 자동화하면 시간을 절약할 뿐만 아니라 효율적으로 업무를 처리할 수 있습니다.

이번 시간에는 엑셀 파일에 저장된 고객별 매출 데이터를 파이썬으로 분석하고, 맞춤형 보고서를 이메일로 발송하는 방법을 배워보겠습니다.


데이터 예시

우리가 사용할 데이터는 다음과 같은 형식의 .xlsx 엑셀 파일에 저장되어 있습니다.

이 데이터에는 고객의 ID, 이름, 매출 금액, 매출일 등이 포함됩니다.

고객 ID고객 이름매출 금액매출일
101홍길동5000002024-01-15
102김영희3000002024-01-22
101홍길동2500002024-02-10
101홍길동3000002024-02-18
103이철수4000002024-02-14
102김영희1500002024-03-05
102김영희500002024-03-08
101홍길동1000002024-03-18

이 데이터를 이용해 각 고객의 월별 매출 데이터를 분석하고, 이메일 보고서를 작성할 것입니다.

먼저 고객별 매출 총계를 Pandas 라이브러리로 계산해보겠습니다.


코드 설명

실습 과제 코드는 Pandas 라이브러리를 사용하여 Excel 파일에서 데이터를 불러오고, 특정 열을 기준으로 그룹화하여 고객별 매출 금액을 합산합니다.

지금부터 코드를 한 단계씩 살펴보겠습니다.


1. Excel 파일 불러오기

Pandas의 read_excel 함수로 Excel 파일을 불러올 수 있습니다.

read_excel로 Excel 파일 불러오기
file_path = 'input_file.xlsx'
df = pd.read_excel(file_path, sheet_name='Sheet1')
  • file_path는 불러올 Excel 파일의 경로입니다.

  • pd.read_excel 함수는 해당 파일을 읽어와 데이터를 df라는 데이터프레임에 저장합니다.

  • sheet_name='Sheet1'는 Excel 파일의 특정 시트(Sheet1)를 지정하여 그 데이터를 불러옵니다.


2. 고객 ID와 고객 이름으로 그룹화하기

고객 ID와 고객 이름으로 데이터 그룹화
grouped = df.groupby(['고객 ID', '고객 이름'])

groupby 함수는 지정한 열(고객 ID, 고객 이름)을 기준으로 데이터를 그룹화합니다.

동일한 고객 ID와 고객 이름을 가진 행들이 하나의 그룹으로 묶입니다.


3. 매출 금액 데이터 선택하기

매출 금액 데이터 선택
sales_data = grouped['매출 금액']

그룹화된 데이터에서 '매출 금액'이라는 열만 선택합니다.

이 열에 있는 값들이 각 그룹별로 처리될 것입니다.


4. 각 그룹의 매출 금액 합산하기

매출 금액 합산
total_sales = sales_data.sum()

sum() 함수는 각 그룹의 매출 금액을 모두 더해, 고객별로 매출 금액의 합계를 계산합니다.


5. 데이터프레임으로 변환하고 인덱스 재설정하기

데이터프레임으로 변환
customer_sales = total_sales.reset_index()

reset_index() 함수는 그룹화된 결과를 다시 일반적인 데이터프레임 형식으로 변환합니다.

이 과정에서 데이터프레임의 인덱스가 0부터 시작되어 행 번호가 새로 부여됩니다.


6. 열 이름 변경하기

열 이름 변경
customer_sales.columns = ['고객 ID', '고객 이름', '총 매출 금액']

데이터프레임의 열 이름을 변경하여 고객 ID, 고객 이름, 총 매출 금액으로 명확하게 표시합니다.

다음 내용이 궁금하다면?

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