如何在Python中迭代cur.fetchall()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Python中迭代cur.fetchall(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1027字,纯文字阅读大概需要2分钟。
内容图文
我正在使用Python 3.4中的数据库连接.
我的数据库中有两列.
下面是查询,它以所示格式显示来自两列的所有数据
查询:
cur.execute(""" select * from filehash """)
data=cur.fetchall()
print(data)
OUTPUT:
[('F:\\test1.py', '12345abc'), ('F:\\test2.py', 'avcr123')]
要遍历此输出,我的代码如下所示
cur.execute(""" select * from filehash """)
data=cur.fetchall()
i=0
j=1
for i,row in data:
print(row[i])
print(row[j])
i=i+1
这给了我以下错误
print(row[i])
TypeError: string indices must be integers
让我知道我们如何处理fetchall()的个别值
解决方法:
看起来表中有两个colunms,因此每行包含两个元素.
以这种方式迭代它们是最容易的:
for column1, column2 in data:
这与:
for row in data:
column1, column2 = row
您也可以尝试:
for row in data:
print row[0] # or row[i]
print row[1] # or row[j]
但是那次失败了,因为你用第一列的值覆盖了i,在这一行中:对于i,在数据中输入:
编辑
顺便说一下,在Python中你永远不需要这种模式:
i = 0
for ...:
...
i += 1
而不是那样,通常做的很简单:
for item in container:
# use item
# or, if you really need i:
for i, item in enumerate(container):
# use i and item
内容总结
以上是互联网集市为您收集整理的如何在Python中迭代cur.fetchall()全部内容,希望文章能够帮你解决如何在Python中迭代cur.fetchall()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。