我有一个基本问题,但无法理解:
prepared_data = ([1, '7303 ', 'product1'], [2, '7304 ', 'product2'], [3, '7534 ', 'product3'], [4, '7652 ', 'product4'])
我想分配这些值,但不知道如何正确排列循环:
for row_num in range(2, len(prepared_data)+2):
for index in range(len(prepared_data)):
wb2_ws1.cell(row=row_num, column=1).value = prepared_data[index][0]
wb2_ws1.cell(row=row_num, column=2).value = prepared_data[index][1]
wb2_ws1.cell(row=row_num, column=3).value = prepared_data[index][2]
wb2_ws1.cell(row=row_num, column=4).value = 'John'
程序应填充第二行的单元格。但它总是会覆盖之前的所有值。感谢您的帮助
最佳答案
如果我理解正确,您只需要一个 for
循环,其中 row_num
是 prepared_data
索引的函数。您可以通过使用带有适当起始值的 enumerate
来隐式该函数。
for row_num, (some_int, some_str, some_label) in enumerate(prepared_data, start=2):
wb2_ws1.cell(row=row_num, column=1).value = some_int
wb2_ws1.cell(row=row_num, column=2).value = some_str
wb2_ws1.cell(row=row_num, column=3).value = some_label
wb2_ws1.cell(row=row_num, column=4).value = 'John'
关于python - 从列表元组中正确赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45149435/