【问题标题】:Python For Loop iterating X times values in list issuePython For Loop在列表问题中迭代X次值
【发布时间】:2021-12-05 23:52:33
【问题描述】:
listA = [(UK,1),(USA,2),(UAE,3)]
def fetchdata():
  base_url = 'someurl.com
  params = {countryname : country}
  resp = requests.requests('GET', base_url+params).json()

def upload():
 some sql insert code
for x in lista:
   country = listA[0]
   ID = listA[1]
   fetchdata()
   upload()

上面的代码工作正常。问题是,因为有三个元组,SQL 会上传 3 次数据。如果我有五个元组,它将上传五次数据。我试过嵌套列表,没有运气。

我的意图是在 JSON 参数中插入 UK,它将获取数据,分配 ID/索引,将这两个值上传到 SQL。然后它将循环到下一个国家。

我应该得到的是......

Country ID value
UK 1 50
US 2 100
UAE 3 75

我得到的是....

Country ID value
UK 1 50
UK 1 50
UK 1 50
US 2 100
US 2 100
US 2 100
UAE 3 75
UAE 3 75
UAE 3 75

【问题讨论】:

  • 对不起,您能否更详细地解释一下当前执行与您想要执行的操作有何不同?请编辑您的代码,使其成为完整的MRE
  • @CrazyChucky 对不起,我是新人。我稍微改进了一下。

标签: python pyodbc


【解决方案1】:

解决了。在再次运行循环之前需要重置字典。

所以...

values :{}

在for循环期间

for locations in locations:
  run some code
  values: {}

否则它也会为以前的字典重新运行 SQL。

【讨论】:

    【解决方案2】:
    > for x in lista:
    

    您是说这里的 listA 吗?

    'lista' 中的每个字符可能会迭代 5 次

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多