从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)

openpyxl 库

python-openpyxl Excel的单元格样式设置,包括字体样式宽高等等!

VB脚本按行循环Excel数据

openpyxl将数字格式设置为单元格但不起作用

MemoryError 使用 openpyxl 写入 500k+ 行