在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 
Interesting Posts