[英]How do I stay within a for loop if certain conditions are met, before continuing to the next iteration?
我有三组数据。 我想从 3 个组中收集所有数据。 但是,每个请求我只能获得 100 条记录。 每组有100多条记录。 我只能在我获得该组的第一批数据后才能知道每个组中有多少数据,这使我看起来无法使用while循环。 这就是我所拥有的。
def getOTCdata(weekStartDate):
#set start and record limit
start = 0
records = 100000
groups = ["G1", "G2", "G3"]
#create for loop to get data with filters
for tier in tier:
params = {
"compareFilters": [
{ "compareType": "equal", "fieldName": "group", "fieldValue": group}
]
}
url = 'myURL'
data = requests.post(url, data=json.dumps(params))
#code to download data - removed so it's not bogged down
#check if the record total is more or less than the data remaining
recordTotal = (data.headers)['Records']
if start + records < recordTotal:
start = +=100
#I WANT TO CONTINUE IN GROUP 1
else:
#MOVE TO GROUP 2
假设 G1 有 150 条记录。 我希望它再在 G1 中运行一次。 由于我将在第二回合收集所有数据,然后我想移动到 G2。 问题是我在发出请求并下载数据之前不知道记录总数,所以我不能在 for 循环之后立即使用 while 循环。
使用while循环
recordTotal = (data.headers)['Records']
while start + records < recordTotal:
start += 100
直到 start + records < recordTotal 的条件下才会退出。
如果您希望 start 变量每次增加 100,我还将 start 更改为start += 100
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.