월별 매출 데이터 분석 후 이메일로 보고서 발송하기
회사에서 매달 매출 보고서를 작성해 이메일로 발송하는 상황!
수많은 데이터를 수작업으로 처리하다 보면 불필요하게 많은 시간이 소요되고, 실수의 위험도 커집니다.
이러한 반복 작업을 자동화하면 시간을 절약할 뿐만 아니라 업무 효율성도 높일 수 있습니다.
이번 시간에는 엑셀 파일에 저장된 고객별 매출 데이터
를 파이썬으로 분석하고, 맞춤형 보고서
를 이메일로 발송하는 방법을 배워보겠습니다.
과제용 데이터
과제에 사용할 데이터는 아래와 같이 .xlsx
엑셀 파일에 저장되어 있습니다.
이 데이터는 고객의 ID, 이름, 매출 금액, 매출일 등을 포함합니다.
고객 ID | 고객 이름 | 매출 금액 | 매출일 |
---|---|---|---|
101 | 홍길동 | 500000 | 2024-01-15 |
102 | 김영희 | 300000 | 2024-01-22 |
101 | 홍길동 | 250000 | 2024-02-10 |
101 | 홍길동 | 300000 | 2024-02-18 |
103 | 이철수 | 400000 | 2024-02-14 |
102 | 김영희 | 150000 | 2024-03-05 |
102 | 김영희 | 50000 | 2024-03-08 |
101 | 홍길동 | 100000 | 2024-03-18 |
이와 같은 엑셀 데이터를 이용해 각 고객의 월별 매출 데이터를 분석하고, 이메일 보고서를 작성할 것입니다.
실습 코드 설명
실습 코드는 Pandas
라이브러리를 사용하여 엑셀 파일에서 데이터를 불러오고, 특정 열을 기준으로 그룹화하여 고객별 매출 금액
을 합산합니다.
지금부터 코드를 한 단계씩 살펴보겠습니다.
1. 엑셀 파일 불러오기
Pandas의 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와 고객 이름으로 그룹화하기
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
, 고객 이름
, 총 매출 금액
으로 명확하게 표시합니다.
customer_sales
데이터프레임을 print 함수로 출력하면 다음과 같은 결과를 확인할 수 있습니다.
고객 ID 고객 이름 총 매출 금액 0 101 홍길동 1150000 1 102 김영희 500000 2 103 이철수 400000
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과
결과물
문서가 비어 있습니다.
코드를 실행해보세요.