在For循环,Python中dynamic创buildvariables
我正在尝试在一个计数的dynamic循环中创buildvariables。
我正在使用openpyxl模块遍历工作表。
value = ~sheet name after using a loop to iterate over sheet names~ wb = (path_to_workbook, use_iterators = True) ws = wb.get_sheet_by_name(name = value) for a,b,c,d in ws.iter_rows(): print a.internal_value
问题是,for循环中variables的数量取决于每个表中有多less个活动列,这些列在表之间变化。 它会吐出这个错误:
“解包太多值”
如果我没有正确数量的variables来解压缩。
我可以通过使用以下列来计算列数:
ws.get_highest_column()
所以,不知何故我需要做一个:
for ~dynamically create variables by count of columns~ in ws.iter_rows(): print variable1.internal_value
我看到一些使用exec的post,但是我没有任何经验,而且我似乎总是读到它是如何让你陷入麻烦的。
没有必要创build一个dynamic数量的参数。 用一个代替; 它被分配了整个行,然后你可以使用索引来访问项目:
for row in ws.iter_rows(): # row is now a tuple first_value = row[0]
for ~dynamically create variables by count of columns~ in ws.iter_rows(): print variable1.internal_value
您可以简单地迭代所有的行,而不必拆开每一行。
for row in ws.iter_rows(): # row is a tuple print row[0].internal_value