【发布时间】:2019-08-02 16:24:53
【问题描述】:
显然,pymsteams 甚至不存在该标签,所以我真的希望有人能帮助我解决这个问题。我想要做的是编写一个 python 脚本来运行查询并通过 MS Teams 发送结果。我能够通过 myTeamsMessage.text("Hello World") 从 python 脚本成功发送文本,但不是我的变量 df 的结果
我尝试在 YouTube 上查找视频并浏览网页,但似乎只有发送文本的示例。也许有人可能知道解决方法?或者更好的是,一个实际的解决方案?
import pymsteams
import pyodbc
import pandas as pd
import numpy as np
conn = pyodbc.connect("Driver={ODBC Driver 17 for SQL Server};"
"Server=***-***-***.***.***.com;"
"Database=IA;"
"Trusted_Connection=no;"
"UID=***;"
"PWD=***")
query = "SELECT * FROM [IP].[dbo].[vFEP]"
df = pd.read_sql(query, conn)
myTeamsMessage =
pymsteams.connectorcard("https://outlook.office.com/webhook/***")
myTeamsMessage.text("Hello World")
myTeamsMessage.send()
# def sleeve(df):
# print(df)
# sleeve(df)
# myTeamsMessage =
# pymsteams.connectorcard("https://outlook.office.com/webhook/***")
# myTeamsMessage.text(sleeve(df))
# myTeamsMessage.send()
这是我收到的错误。
“pymsteams.TeamsWebhookException:需要摘要或文本。”
我希望完成的是通过 MS Teams 发送 df 的结果。同样,我可以通过“”发送文本,但这就是我的全部限制。任何帮助是极大的赞赏。谢谢!
【问题讨论】:
-
您的
sleeve函数使用print将DataFrame 打印到控制台,但不 返回str。您的函数返回None,这就是您要作为消息发送的内容。听起来你真的想做一些更像this的事情。 -
感谢您的回复,遗憾的是我无法理解如何实现他们所说的内容。我不太关心被注释掉的内容,因为我只是在做实验,我只是将它包括在内以展示我正在尝试的内容。我的罪魁祸首是 myTeamsMessage.text("Hello World") 我只能在这个函数中使用文本。我真正想做的是像这样在我的 df 变量中发送结果。 myTeamsMessage.text(df) 类似于打印,但显然它不起作用。很抱歉,如果您提到的实际上是答案,我只是无法理解。我是新人。
-
myTeamsMessage.text(df.to_string())...怎么样? -
成功了,非常感谢!
标签: sql-server python-3.x pyodbc microsoft-teams