python 循环提取 API 数据以迭代 URL

M.A*_*.Ai 2 python api iteration loops

I'm trying to set up a for loop to pull in elected representatives' data for about 600,000 postal codes. 基本 URL 保持不变,唯一改变的部分是邮政编码。

理想情况下,我想创建所有邮政编码的列表,然后使用 requests.get 提取列表中所有邮政编码的数据。我在下面想出了这个代码,但它只是为我的列表中的最后一个邮政编码提取数据。我不确定为什么会发生这种情况,我是一名 Python 初学者 - 所以任何帮助将不胜感激!


#loop test 
postcodes = ['P0L1B0','P5A3P1', 'P5A3P2', 'P5A3P3']

for i in range(len(postcodes)):
   rr = requests.get('https://represent.opennorth.ca/postcodes/{}'.format(postcodes[i]))

data1=json.loads(rr.text)

data1
Run Code Online (Sandbox Code Playgroud)

Mac*_*j M 5

您的代码不起作用,因为它覆盖了 data1。

尝试这个:

#loop test 
responses = list() # stores responses for postal codes
postcodes = ['P0L1B0','P5A3P1', 'P5A3P2', 'P5A3P3']

for postcode in postcodes:
   rr = requests.get('https://represent.opennorth.ca/postcodes/{}'.format(postcode))
   data=json.loads(rr.text)
   responses.append(data)
Run Code Online (Sandbox Code Playgroud)

您的回复现在保存在回复列表中。

提示:
您可以在不使用索引的情况下迭代列表。

  • 谢谢你!!!当然,呃,我不需要索引。不敢相信我忘了附加结果。 (2认同)