how to check if a cell is empty in openpyxl python

2019-07-09 03:05发布

问题:

I'm making a conditional statement in openpyxl Python to check if a cell is empty. Here's my code:

newlist = []
looprow = 1
print ("Highest col",readex.get_highest_column())
getnewhighcolumn = readex.get_highest_column()        
for i in range(0, lengthofdict):
    prevsymbol = readex.cell(row = looprow,column=getnewhighcolumn).value
    if prevsymbol == "None":
        pass
    else:
        newstocks.append(prevsymbol)
        looprow += 1
    #print (prevsymbol)
print(newlist)

I tried if prevsymbol == "": and if prevsymbol == null: to no avail.

回答1:

You compare prevsymbol with str "None", not None object. Try

if prevsymbol == None:

Also here

prevsymbol = readex.cell(row = looprow,column=getnewhighcolumn).value

you use looprow as row index. And you increment looprow only if cell.value is not empty. Here

newstocks.append(prevsymbol)

you use newstocks instead of newlist. Try this code

newlist = []
print ("Highest col",readex.get_highest_column())
getnewhighcolumn = readex.get_highest_column()        
for i in range(0, lengthofdict):
    prevsymbol = readex.cell(row = i+1,column=getnewhighcolumn).value
    if prevsymbol is not None:
        newlist.append(prevsymbol)
print(newlist)


回答2:

Take the quotes away from the None.

if prevsymbol is None:

This is the python equivalent of checking if something is equal to null.