我在尝试简单地从 db (sqlite3) 的行中执行数据时遇到问题。DB 输入有 4 个字段,因此一旦输入,它们就会被保存。但这是我的问题,我执行所有 4 行,如果其中一个字段未填写,我会收到错误消息。
那是数据库执行代码:
def ids(self):
con = lite.connect('foo.db')
with con:
cur = con.cursor()
cur.execute("SELECT Id FROM foo")
while True:
ids = cur.fetchall()
if ids == None:
continue
return ids
由于有 4 行,我的输出代码:
print ''.join(ids[0]) + ',' + ''.join(ids[1]) + ',' + ''.join(ids[2])
+ ',' + ''.join(ids[3])
所以我的问题是,当没有现有行不显示任何内容而只留下实际存在的行时,如何破例?我试过这样做if ids[0] is not None: #do something
,但这会使我的代码非常慢,而且我猜它是非 Pythonic 方式。有没有更好的方法来完成这项工作?任何帮助将不胜感激。