Я создаю программу, которая будет извлекать данные из таблицы Google, которая представляет собой дневник расходов о том, сколько я трачу на неделю.После успешного извлечения данных программа отправит мне электронное письмо с информацией о том, сколько я трачу день за днем.
Фотография моего дневника расходов:
Я использую gspread для извлечения данных, и я смог извлечь столбец данных по столбцу, используя цикл for
И он дает мне данные в виде списка.Например, если я сделаю
num_days = 7
goods = []
for day in range(2, num_days + 2):
goods.append(worksheet.col_values(day))
OUTPUT: [['Mon 04/08/2019', 'Edeka 20.07'], ['Tue 04/09/2019', 'Edeka 9.77', 'Gym 60'], ['Wed 04/10/2019', 'Party 5', 'Jiujitsu System 30', 'Jiujitsu card 5', 'Jiujitsu Monthly fee 54'], ['Thu 04/11/2019', 'Laundry 3.5', 'Part 7.5 Euro'], ['Fri 04/12/2019', 'Edeka 5.95', 'Laundry 2'], ['Sat 04/13/2019', 'Food Festival 20 ', 'DM Hair Roller 3.25', 'Rewe 9.97'], ['Sun 04/14/2019', 'Monitor 224.99']]
, я смогу извлечь столбец за столбцом и поместить их в список в виде списка.
Это все хорошо.Но я хочу отправить электронное письмо в следующем формате.
EX)
Пн: Edeka 20.07
Вт: Edeka 9.77, Тренажерный зал 60
...
Вс: Монитор 224,99
А вот фотография электронной почты, которая поступила в мой почтовый ящик.Я хочу, чтобы первые элементы отсутствовали, чтобы просто показать, какие товары я купил, за исключением даты.
Как мне сформировать свое электронное письмо, которое будет отправлено, как на фотографии выше?
Я сейчас использую smtplib чтобы отправить электронное письмо, но я не знаю, как вписать в сообщение только те товары, которые я купил.
def send_email_for_spending(money_spent_week):
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
# title for your email
subject = "Here is how much you spent in this week."
# Number of Days
num_days = 7
goods = []
# it starts from 2 because column that has monday is 2nd
# column
for day in range(2, num_days + 2):
goods.append(worksheet.col_values(day))
message = f"""
MON:
{goods[0]}
TUE:
{goods[1]}
WED:
{goods[2]}
THU:
{goods[3]}
FRI:
{goods[4]}
SAT:
{goods[5]}
SUN:
{goods[6]}
"""
smtp.sendmail(EMAIL_ADDRESS, 'dudeindaegu@gmail.com', message)