要求
我的要求是让 Python 代码从数据库中提取一些记录,格式化并发布到 Slack 频道。
计划的方法
由于 Slack 消息块是 JSON,我计划
1.为每个块创建类似 JSON 的模板。例如
json_template_str = '{{
"type": "section",
"fields": [
{{
"type": "mrkdwn",
"text": "Today *{total_val}* customers saved {percent_derived}%."
}}
]
}}'
2.从数据库中提取记录到数据框。
3.循环数据框并{var}
使用类似的东西批量替换变量.format(**locals()))
4.使用 Slack API 发布格式化的 JSON
问题
我以前没有使用过数据框。完成第 3 步的最佳方法是什么?目前我是
3.1逐个循环遍历数据框对象for i, df_row in df.iterrows():
3.2分配
total_val= df_row['total_val']
percent_derived= df_row['percent_derived']
3.3在循环格式中并将str添加到列表中block.append(json.loads(json_template_str.format(**locals()))
我试图在数据框中使用该assign()
方法,但无法找到一种像 lambda 函数一样使用的方法来创建一个具有我可以使用的预期值的新列。
作为 pandas 的新手,我觉得可能有一种更有效的方法来做到这一点(甚至可能涉及更改 JSON 模板字符串——我完全可以做到)。很高兴听到想法和想法。
谢谢你的时间。