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
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")
This worked for me.
if cell.value is None:
print("Blank")
else:
print("Not Blank")
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.
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)