引用同一行中的单元格

时间:2015-07-13 02:05:45

标签: python openpyxl

我正在使用Openpyxl。我也可以使用其他方法/模块获得答案。

因此,要引用单元格值,您可以执行以下操作:

ws = wb.get_active_sheet()
for cellobject in sheet.columns[1]:
    print(cellobject.value)


1001
1002
1003
1004

但是如果我想引用同一行中的一个单元格,例如C列(有点像vlookup公式)?

| A          |  B          | 
|:-----------|------------:|
| 1001       |  Cow        |       
| 1002       |  Cat        |     
| 1003       |  Dog        |         
| 1004       |  Mouse      |   

所以最终结果可能类似于:

(1001, Cow)
(1002, Cat)

或:

1001
Cow
1002
Cat

3 个答案:

答案 0 :(得分:2)

您也可以尝试翻看ws.rows,这将逐一为您提供每一行(包括所有列),例如 -

for row in ws.rows:
    print((row[0].value, row[1].value)) #for first and second column.

或者您也可以迭代该行,以获取该行中的每个单元格。示例 -

for row in ws.rows:
    for cell in row:
        print(cell.value) #this will print cell by cell , in a new line.

答案 1 :(得分:1)

只需将第一列和第二列传递给zip函数。

for cellobject1, cellobject2 in zip(sheet.columns[1], sheet.columns[1]):
    print((cellobject1.value, cellobject2.value))

答案 2 :(得分:1)

更正2。答案: 只需将第一列和第二列传递给zip()函数。

for cell01, cell02 in zip(sheet.columns[0], sheet.columns[1]):
    print(cell01.value, cell02.value)

冒出“(1001,Cow)”等。