ich würde gerne eine Tabelle aus Arrays erstellen und diese dann per Mail versenden. Ich bin noch am Angang, dass heißt die Tabelle wird noch mehr Spalten bekommen. Bisher habe ich die Lösung die unten zu sehen ist.
Leider ist die Zeilen Anzahl nicht immer gleich groß. Kann ich dass hier:
Code: Alles auswählen
my_dict_3 = dict(zip(Header, zip(Zeile1, Zeile2 , Zeile3)))
Code: Alles auswählen
data= Zeile1, Zeile2 , Zeile3
my_dict_3 = dict(zip(Header, zip(data)))
Oder gibt es vielleicht eine Möglichkeit die Spalten mit Arrays zu füllen? Also Spalte1 = Aktien_array etc.
Also die Tabelle nach Spalten füllen und nicht nach Zeilen?
Viele Grüße

Code: Alles auswählen
from smtplib import SMTP
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import pandas as pd
from pretty_html_table import build_table
def send_mail(body):
message = MIMEMultipart()
message['Subject'] = 'xxx'
message['From'] = 'xxx'
message['To'] = 'xxx'
body_content = body
message.attach(MIMEText(body_content, "html"))
msg_body = message.as_string()
server = SMTP('mail.gmx.net', 587)
server.starttls()
server.login(message['From'], 'xxx')
server.sendmail(message['From'], message['To'], msg_body)
server.quit()
def get_gdp_data():
Header = ["Aktie", "Kurs", "Trendrichtung"]
Aktien = ['Google', 'Amazon', 'Netflix', 'Apple', 'AT&T']
Kurs = ['1234', '4673', '9361', '112', '7601']
Trendrichtung = ['Short', 'Short', 'Long', 'Long', 'Short']
Zeile1 = [Aktien[0], Kurs[0], Trendrichtung[0]]
Zeile2 = [Aktien[1], Kurs[1], Trendrichtung[1]]
Zeile3 = [Aktien[2], Kurs[2], Trendrichtung[2]]
my_dict_3 = dict(zip(Header, zip(Zeile1, Zeile2 , Zeile3)))
data = pd.DataFrame(my_dict_3)
return data
gdp_data = get_gdp_data()
output = build_table(gdp_data, 'blue_light')
send_mail(output)