我正在尝试根据计数在 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]
