Skip to main content
 首页 » 编程设计

python之在 For 循环中动态创建变量,Python

2025年05月04日21Leo_wl

我正在尝试根据计数在 for 循环中动态创建变量。

我正在使用 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 循环中的变量数量取决于每个工作表中有多少个事件列,这些列在工作表之间变化。它会吐出错误:

"Too many values to unpack"

如果我没有正确数量的变量来解压。

我可以使用以下方法获取列数:

ws.get_highest_column() 

所以,不知何故我需要做一个:

for ~dynamically create variables by count of columns~ in ws.iter_rows(): 
    print variable1.internal_value 

我看过一些使用 exec 的帖子,但我对此没有任何经验,而且我似乎总是读到它如何给你带来麻烦。

请您参考如下方法:

无需创建动态数量的参数。使用一个代替;它被分配了整行,然后您可以使用索引来访问项目:

for row in ws.iter_rows(): 
    # row is now a tuple 
    first_value = row[0]