从openpyxl循环行获取单元格数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从openpyxl循环行获取单元格数据相关的知识,希望对你有一定的参考价值。
我有一些代码用于在Python脚本中创建来自OpenPyXL的元组,如下所示:
for row in sheet.iter_rows(min_row=2, max_col=2, max_row=50)
print(row)
哪个回报
(<Cell 'States'.A2>, <Cell 'States'.B2>)
(<Cell 'States'.A3>, <Cell 'States'.B3>)
...
(<Cell 'States'.A50>, <Cell 'States'.B50>)
我想通过使用cell.value从'A-column'和'B-column'中提取值,并进一步用逗号分隔值(例如7,100或100,7)拆分'B-column'然后将值添加到字典中,如下所示:
StatesPriority = {
A2 : (B2.ValueBeforeComma, B2.ValueAfterComma)
A3 : (B3.ValueBeforeComma, B3.ValueAfterComma)
...
A50 : (B50.ValueBeforeComma, B50.ValueAfterComma)
}
但是,我更关注从返回的元组中获取值的OpenPyXL函数。我想我可以用一点点时间用逗号来计算分裂值。
Python版本:3.6.3 OpenPyXL版本:2.4.9
所有帮助表示赞赏!
答案
row
是一个包含两个元素的元组,因此您可以在赋值时解压缩它:
StatesPriority = {}
for row in sheet.iter_rows(min_row=2, max_col=2, max_row=50)
cell_a, cell_b = row
StatesPriority[cell_a.value] = (tuple(cell_b.value.split(','))
以上是关于从openpyxl循环行获取单元格数据的主要内容,如果未能解决你的问题,请参考以下文章
openoffice calc - 换行导致单元格中的重复值(pandas/openpyxl)