python - 为什么这段代码不打印表格中的给定行?
问题描述
此代码应遍历数据库中的表并操作数据并以给定格式打印。我需要解释为什么它实际上并没有这样做,运行代码没有做任何事情,有人有什么想法吗?
def count_columns(table_name):
cur.execute("SELECT * FROM " + table_name)
for row in cur.fetchall():
if len(row) == "2":
print("ID: ", row,[0], "Category: ", row[1])
elif len(row) == "3":
print("ID: ", row,[0], "Range: ", row[1], "Category: ", row[2])
elif len(row) == "4":
print("ID: ", row,[0], "Systolic: ", row[1], "Diastolic: ", row[2], "Category: "
解决方案
因为len(row)
永远不会完全等于'2'
,'3'
或'4'
, 它们是strings
。
len
返回一个整数;如果您删除引号,它可能会起作用。
推荐阅读
- ios - 在 GCD 中,何时使用全局并发队列与自定义并发队列?
- php - 使用 Twitch 的 API 一次请求获取多个频道
- jmeter - JMeter,将 CSV 中的 URL 随机(或均等地)分配给用户,而不需要多次调用 URL
- javascript - javascript突出显示多行
- azure-devops - Concat ArrayList:方法调用失败,因为 [System.Management.Automation.PSObject] 不包含名为“op_Addition”的方法
- python - 关于有效但良好地训练 LSTM,并行与训练机制
- android - recreate() 方法导致活动在模拟器 api 级别 16...24 上自动(重新创建和)暂停
- c++ - 使用类指针重载的 C++ 命名空间函数模板专业化替代方案?
- java - ArrayList addAll 没有添加元素
- python - 使用erlang控制python GUI