python - 使用 SELECT 检索数据并单独处理
问题描述
我需要对SELECT
一个 SQL Server 表做一个处理,并分别处理我得到的信息。
例如,假设我有这个表名为Table1
我在 python 中执行此 SELECT:
SELECT name, phone, date FROM Table1
在打印中,结果将是:
[['Sara Miller',611111111],['Jane Smith',622222222],['Amanda Laurens',633333333]]
我需要分别处理每一行以及每个姓名和电话号码以发送短信......那么,我如何使用 Python 访问每一个?例如,向号码 611111111 发送短信说
“亲爱的 Sara Miller,明天(20/05/2020)你在诊所预约了”
我使用 API 介绍的 SMS 部分,问题是我无法弄清楚如何处理从 SQL Server 接收到的数据。
我现在的代码是:
conn = pypyodbc.connect("Connection parameters, waorking OK")
cursor = conn.cursor()
cursor.execute('SELECT name, phone, date FROM Table1')
result = cursor.fetchall()
final_result = [list(i) for i in result]
print(final_result)
如果我需要澄清一些事情,请告诉我。
解决方案
我还没有真正使用过,pypyodbc
所以我不确定cursor.fetchall
返回的数据格式是什么,所以我列出了两种应该涵盖这两种情况的方法。
conn = pypyodbc.connect("Connection parameters, waorking OK")
cursor = conn.cursor()
cursor.execute('SELECT name, phone, date FROM Table1')
for row in cursor.fetchall():
name = row[0]
phone = row[1]
date = row[2]
# do something with these variables
如果返回的结果是一个字典而不是一个列表,那么它变成:
for row in cursor.fetchall():
name = row['name']
phone = row['phone']
date = row['date']
# do something with these variables
或者正如@DanGuzman 提到的,我们也可以这样做:
for row in cursor.fetchall():
name = row.name
phone = row.phone
date = row.date
# do something with these variables
推荐阅读
- docker - 即使完全停止 Docker 服务,Docker 容器仍在运行
- masm - 我被困在“输入字符串:”并且没有进行任何输入 8086 编程
- genetic-algorithm - 为具有多个不相关约束的目标函数创建适应度函数?
- python - OpenGL中的等距视图
- postgresql - Rust postgres 执行,如何将表名作为变量传递
- python - 我得到了不需要的索引值和我需要的值
- python - 如何区分对同一个 Flask webhook 的两个不同调用?
- java - 如何在 AutocompleteSupportFragment 上设置 [ENTER/SEARCH/ETC...] 键触发器
- javascript - 如果要从中推送的数组未定义,则将字符串推送到数组
- matlab - matlab支持阿拉伯语吗?