Python OpenPyxl:如何迭代 1 行的列以查找值

问题描述 投票:0回答:2

使用 Python OpenPyxl 时,如何迭代 1 Row 的列来查找值?

这是我当前的(失败的)尝试——((至少)我的第二个 for 循环中似乎有错误。)

book = openpyxl.load_workbook(excelFile)
for sheet in book.worksheets: #For each worksheet
    for colidx in sheet.iter_cols(sheet.min_col,sheet.max_col): #For each column in a worksheet
        if sheet.cell(1,colidx).value == "ValueImLookingFor": #Check each column in Row #1 for value
            print ("ValueImLookingFor is in cell A" + colidx)

非常感谢您的帮助,

CG

python openpyxl
2个回答
0
投票

试试这个:

from openpyxl import load_workbook
wb = load_workbook('C:/Users/viupadhy/Desktop/Results.xlsx')
ws = wb.active
count=0
while count < (ws.max_column):
    for row in ws.rows:
        if row[count].value == "CCL":
            print(row)
    count+=1

输出将是索引的tulpe。

(<Cell 'Results'.A10>, <Cell 'Results'.B10>, <Cell 'Results'.C10>, <Cell 'Results'.D10>)

如果需要,您可以从元组中解析确切的索引!!!


0
投票
#Create an object
from tkinter import filedialog as askUserForInput

from openpyxl import load_workbook

def loop_column():
    firstWorkbook = load_workbook(askUserForInput.askopenfilename(filetypes=[('xls*','*.xls*'), ('XLS*','*.XLS*')]))
    firstWorksheet = firstWorkbook.active
    for cell in firstWorksheet['A']:
        cellValues = cell.value
        print(cell.value)
        
loop_column()
© www.soinside.com 2019 - 2024. All rights reserved.