Openpyxl check for empty cell

前端 未结 4 1929
失恋的感觉
失恋的感觉 2020-12-15 18:49

openpyxl seems to be a great method for using Python to read Excel files, but I\'ve run into a constant problem. I need to detect whether a ce

相关标签:
4条回答
  • 2020-12-15 19:05

    You can change the cell or cells you wish to validate Also you can code, for example:

    import openpyxl
    
    wb = openpyxl.load_workbook("file.xlsx")
    sheet = wb.get_sheet_by_name('Sheet1')
    
    if sheet.cell(row = 1, column=7).value == None:
        print("Blank") 
    else:
        print("No blank")
    
    0 讨论(0)
  • 2020-12-15 19:09

    This worked for me.

    if cell.value is None:
        print("Blank")
    else:
        print("Not Blank")
    
    0 讨论(0)
  • 2020-12-15 19:10

    The

    if cell.value is None:
    

    is the best option to use for this case.

    if you wish to use it in an iteration, you can use it like this:

    ws=wb.active
    names=ws['C']
    for x in names:
        if x.value is None:
            break
        print(x.value)
    

    The problem with ws.max_column and ws.max_row is that it will count blank columns as well, thus defeating the purpose.

    0 讨论(0)
  • 2020-12-15 19:16

    To do something when cell is not empty add:

    if cell.value:
    

    which in python is the same as if cell value is not None (i.e.: if not cell.value == None:)

    Note to avoid checking empty cells you can use

    worksheet.get_highest_row()
    

    and

    worksheet.get_highest_column()
    

    Also I found it useful (although might not be a nice solution) if you want to use the contents of the cell as a string regardless of type you can use:

    unicode(cell.value)
    
    0 讨论(0)
提交回复
热议问题