Python for循环一次又一次地只使用第一个查询值
我有一个查询输出,将带来400万条实时记录。我试图做的是运行一个查询,它将带来一些记录,我试图在for循环中逐个传递这些记录,并执行一个特定的操作 但是发生的只是来自查询的第一条记录在for循环中反复出现Python for循环一次又一次地只使用第一个查询值,python,Python,我有一个查询输出,将带来400万条实时记录。我试图做的是运行一个查询,它将带来一些记录,我试图在for循环中逐个传递这些记录,并执行一个特定的操作 但是发生的只是来自查询的第一条记录在for循环中反复出现 query = "select id from owner limit 10" print (query) cursor.execute(query) contact = cursor.fetchall() print(contact) for info in cont
query = "select id from owner limit 10"
print (query)
cursor.execute(query)
contact = cursor.fetchall()
print(contact)
for info in contact:
id = contact[0][0]
print(id)
for row in info:
print (id)
ivurl = f'{api}/company/{row}/contacts?'
payload: Dict[str, Union[bool, int]] = {'owner': True}
response = get_iv_response(url=ivurl, payload=payload)
email_contact_totalresult: int = response.get('totalResults')
email = int(email_contact_totalresult)
if email > 0:
print("this contact has email")
这是输出
this is the result from the query
[(167806,), (167806,), (50791734,), (7615365,), (641219,), (6990522,),(4943654,), (4943654,)]
这是for循环的结果167806 167806 167806 167806 167806 167806 167806 167806 167806 167806 167806
此联系人有电子邮件我认为您正在尝试执行以下操作:
contact = [(167806,), (167806,), (50791734,), (7615365,), (641219,), (6990522,),(4943654,), (4943654,)]
print(contact)
for id in contact:
print(id[0])
ivurl = f'{api}/company/{id[0]}/contacts?'
payload: Dict[str, Union[bool, int]] = {'owner': True}
response = get_iv_response(url=ivurl, payload=payload)
email_contact_totalresult: int = response.get('totalResults')
email = int(email_contact_totalresult)
if email > 0:
print("this contact has email")
我相信发生故障的线路是id=contact[0][0]
当您将联系人的第一个值指定给id时。
但是,如果您想获取id的第一个值,在本例中是一个元组,您可以执行类似于
id[0]
的操作,但您并不真正理解您的代码。但是对于第二个for循环,它不应该在第一个for循环中吗。现在“info”变量只包含一个值。那么如何在for循环中逐个传递查询值呢!您知道循环嵌套了什么吗?确实需要行“id=contact[0][0]”吗?你在那里做的是将contact(167806,)的第一个值分配给id。如果你删除它,它应该可以工作,我认为我不能使用嵌套for循环,因为它是一个查询输出,请纠正我,如果我确实错了,但除了第一个值在for内不断重复之外loop@dr.engg请用新代码再试一次好吗?正如在我的测试中一样,当我在代码中将值作为常量时,它不会重复,但当使用查询时,它仍然会导致相同的问题。我看到,您可以将行cursor.fetchall()
修改为列表(cursor.fetchall())
,然后重试代码或对输出进行注释吗?另外,将'ivurl=f'{api}/company/{id[0]}/contacts?
修改为ivurl=f'{api}/company/{id}/contacts?
感谢它的工作,有一个缩进问题导致了这个问题