为什么这段代码不打印表中给定的行?

时间:2018-05-22 14:17:48

标签: python sql python-3.x sqlite

此代码应遍历数据库中的表并操作数据并以给定格式打印。我需要解释为什么它实际上没有这样做, 运行代码不会做任何事情, 有没有人有任何想法?

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: "

1 个答案:

答案 0 :(得分:4)

因为len(row)永远不会完全等于'2''3''4'strings

len返回一个int;如果删除引号,它可能会有效。