簡體   English   中英

Pandas 數據幀在 email 中發送時無法正確顯示/格式化?

[英]Pandas data frame is not displaying/formatting correctly when being sent in an email?

當我在 python 中打印 dataframe 時,它的格式很好並且居中對齊。 但是,當我在 email 中發送 dataframe 時,數據和列標題到處都是。

df1 = pd.DataFrame(data=data1, columns=cols1)
print(df1)

Output

      Race               Horse   Odds         W%
0  Ascot R1   Cliffs Of Comfort    2.5  40.000000
1  Ascot R1          Tommy Blue    2.8  35.714286
2  Ascot R1             Semigel   12.2   8.196721
3  Ascot R1          River Beau   13.0   7.692308
4  Ascot R1          Rocky Path   21.0   4.761905
5  Ascot R1     Melody's Secret   41.0   2.439024
6  Ascot R1         Art Admirer  201.0   0.497512
7  Ascot R1  Lies 'N' Deception  151.0   0.662252
8  Ascot R1        Express Time   11.0   9.090909
9  Ascot R1       Single Finger  201.0   0.497512

發送代碼 email

for data in df1, df2:
  datetime = datetime.now()
  subject = f'Market Efficiency Update - {datetime}'
  body = f'Hi Harrison,\n\nMarket efficiency is:{df2} \n\n{df1}'
  message = f'Subject: {subject}\n\n{body}'
  mail = smtplib.SMTP('smtp.gmail.com', 587)

我認為pandas function DataFrame.to_string()會幫助你:

for data in df1, df2:
    (...)
    df1_str = df1.to_string()
    body = f'Hi Harrison,\n\nMarket efficiency is:{df2} \n\n{df1_str}'
    (...)

嘗試將 DataFrame 轉換為 HTML 格式如下:

  for data in df1, df2:
      datetime = datetime.now()
      subject = f'Market Efficiency Update - {datetime}'
      body = f'Hi Harrison,\n\nMarket efficiency is:{df2.to_html()} \n\n{df1.to_html()}'
      message = f'Subject: {subject}\n\n{body}'
      mail = smtplib.SMTP('smtp.gmail.com', 587)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM