我使用类似以下代码的东西在Python中自动发送电子邮件.
如何使表格看起来像是从excel复制到电子邮件中(即表格格式)?目前,它将html格式的表视为电子邮件正文中的文本,这是非常无用的.
import win32com.client
import pandas as pd
#Parameters
data= [{'A' : 'data', 'B': 2, 'C':1.78},
{'A' : 'data', 'B': 22, 'C':1.56},]
table = pd.DataFrame(data)
subject = 'email subject'
body = '<html><body>' + table.to_html() + '</body></html>'
recipient = 'email@domain.com'
attachments = []
#Create and send email
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = subject
newMail.Body = body
newMail.To = recipient
for location in attachments:
newMail.Attachments.Add(Source=location)
newMail.display()
newMail.Send()
Run Code Online (Sandbox Code Playgroud)
当我希望它成为一个真正的表时,发送一个看起来像这样的电子邮件:
<html><body><table border="1" class="dataframe">
<thead>
<tr style="text-align: left;">
<th>A</th> …Run Code Online (Sandbox Code Playgroud) 是否可以限制 XY 图表中列的最大宽度?我在带有 Typescript 的 Angular 项目中使用 AmCharts4。
下图中:
有没有办法防止第二个图表的单列扩展太多?如果它扩展就很好,但我希望能够以某种方式限制它。
也许类似?
categoryAxis.maxColumnWidth = 50
我在这里检查了文档: https: //www.amcharts.com/docs/v4/tutorials/managing-width-and-spacing-of-column-series/但没有看到任何内容。
我想知道第一年有各种项目的收入.
鉴于以下内容,数据帧:
ID Y1 Y2 Y3
0 NaN 8 4
1 NaN NaN 1
2 NaN NaN NaN
3 5 3 NaN
Run Code Online (Sandbox Code Playgroud)
我想按行返回第一列的名称,其中包含非空值.
在这种情况下,我想要返回:
['Y2','Y3',NaN,'Y1']
Run Code Online (Sandbox Code Playgroud)
我的目标是将其添加为原始数据框的列.
以下代码主要有效,但真的很笨重.
import pandas as pd
import numpy as np
df = pd.DataFrame({'Y1':[np.nan, np.nan, np.nan, 5],'Y2':[8, np.nan, np.nan, 3], 'Y3':[4, 1, np.nan, np.nan]})
df['first'] = np.nan
for ID in df.index:
row = df.loc[ID,]
for i in range(0,len(row)):
if (~pd.isnull(row[i])):
df.loc[ID,'first'] = row.index[i]
break
Run Code Online (Sandbox Code Playgroud)
收益:
Y1 Y2 Y3 first
0 NaN 8 4 Y2
1 NaN …Run Code Online (Sandbox Code Playgroud) 我正在建立一个帕累托图,以显示百分比和按类别计数。能够查看图表上的所有类别标签很重要。当前有足够的空间显示更多类别标签,但轴未显示它们。
是否可以告诉轴显示所有标签,或减少轴标签上的填充/边距,以便可以显示更多标签?
我在Angular应用中使用Typescript。
当前轴创建代码:
let categoryAxis = chart.yAxes.push(new am4charts.CategoryAxis());
categoryAxis .title.text = 'Category';
categoryAxis.dataFields.category = categoryField;
categoryAxis.renderer.fontSize = 12;
Run Code Online (Sandbox Code Playgroud)
问题图片:
python ×2
typescript ×2
amcharts ×1
amcharts4 ×1
javascript ×1
numpy ×1
outlook ×1
pandas ×1
pywin32 ×1