我正在处理我的python脚本,因为我想计算数据库中每69行获取一个值列表。我需要一些代码帮助,因为其中一些是错误的。
当我尝试这个时:
test = con.cursor()
test.execute("SELECT COUNT(*) FROM programs")
x = test.fetchone()[0]
running_total = 1 #Again, you want to start counting at 1 for some reason
while running_total < x:
running_total += 69
print running_total
我会得到这样的结果:
70
139
208
277
346
415
484
553
622
691
760
829
898
967
1036
1105
这是我想要实现的目标:
1
70
139
208
277
346
415
484
553
622
691
760
829
898
967
1036
我想输出以1
开头的值,然后输出70
,139
,208
等等,直到我获得数据库中的最后69个值。示例:我的数据库中有1104
行,我想要获取的最后69行是1036
,忽略最后一行1104
。
另一个例子:如果我在数据库中添加另外69行数据,我有行1104
以获得总行1173
中的完整行,那么我想要获取的最后69行是{{ 1}}并忽略最后一行1104
。这取决于我在数据库中添加了多少行数据。
您可以帮助我如何输出以1173
开头的值,然后每次加起来69 1
,70
,139
.. .etc直到我得到最后69行,然后忽略最后一行?
答案 0 :(得分:0)
您应该使用范围/ xrange函数:
range
(Python3)和xrange
(Python2)具有以下形式:range(start, end, increment)
其中start
包含且end
不包含。< / p>
test = con.cursor()
test.execute("SELECT COUNT(*) FROM programs")
x = test.fetchone()[0]
for running_total in xrange(1, x + 1, 69):
print(running_total)
这样可以获得所需的输出,而无需采用C风格的增量。