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

엑셀에서 불러온 데이터를 이메일로 전송하기

이전 Chapter에서 배운 openpyxl 라이브러리를 사용하면 엑셀 파일에서 데이터를 읽어오고, 읽어온 데이터를 가공해 이메일을 전송하거나 여러 수신자에게 이메일을 전송할 수 있습니다.

여러 수신자에게 이메일을 전송할 때는 반복문을 활용할 수 있습니다.

이번 실습에서는 엑셀 파일에서 매출 데이터를 읽어와 HTML 테이블로 변환한 뒤, 이를 이메일로 전송하는 예제를 살펴보겠습니다.


엑셀 파일 읽어온 매출 데이터를 이메일로 전송하기

실습 화면의 코드는 openpyxl 라이브러리를 사용하여 엑셀 파일에서 매출 데이터를 읽어와 HTML 테이블로 변환한 뒤, 이를 이메일로 전송하는 예제입니다.

엑셀 파일에서 읽어온 데이터의 객단가판매수량을 곱해 제품별 매출을 계산하고, 이를 HTML 테이블에 반영해 이메일로 전송합니다.

엑셀에서 데이터 읽어오기
# 매출액 계산 및 HTML 행으로 추가
# [1:]은 첫 번째 행(헤더)을 제외한 나머지 행을 의미
# 헤더를 제외한 각 행에 대해 for 반복문 실행
for row in sales_data[1:]:
# 행 데이터 추출
product_name, unit_price, quantity = row

# 매출액 계산
sales_amount = unit_price * quantity

html_table += f"""
<tr>
<td>{product_name}</td>
<td>{unit_price}</td>
<td>{quantity}</td>
<td>{sales_amount}</td>
</tr>
"""

이와 관련된 코드에 특별히 유의하면서, 코드 에디터의 코드를 실행해 보세요.


추가적으로 파이썬의 반복문openpyxl, smtplib 라이브러리를 잘 활용하면, 엑셀 파일에서 여러 이메일을 읽어와 다수의 수신자에게 매출 데이터를 이메일로 전송하는 자동화 프로그램까지 만들 수 있습니다.


참고

실습 프로그램에서는 무분별한 이메일 발송을 방지하기 위해 여러 수신자에게 이메일을 보내지 못하도록 제한되어 있습니다.

이메일을 여러 수신자에게 보내려면 컴퓨터에 파이썬 프로그램을 직접 설치하고, AI와 함께 요구사항에 맞게 코드를 수정해 보세요.

다음 내용이 궁금하다면?

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