我使用openpyxl获取特定列中的单元格值。我正在使用
load_workbook(path, data_only=True)
因为有些单元格中有公式。
但是,对于excel中为空的单元格,我很困惑如何从列表中删除它们或者不首先将它们附加到它们中。
这是因为我无法定位这些空单元格。实际上,使用type()看起来这些单元格是作为字符串返回的(而不是NoneType)。我尝试使用None,“”,“none”来跳过这些值,但没有成功。
到目前为止,这是我的代码:
import openpyxl
import json
import requests
mypath = "XXX/XXXXXX/XXXXXX/XXX"
filename = "file"
def get_column_number(ws, header_name, max_header_row):
for index, row in enumerate(ws, start=1):
if index > max_header_row:
break
for cell in row:
if cell.value:
if str(cell.value).rstrip() == header_name:
return cell.col_idx
def get_location_list(wb,ws):
location_list = []
for row in range(2, ws.max_row):
row = row + 1
cell_value = str(ws.cell(row=row, column=get_column_number(ws, "Location literal", 1)).value).lower()
print(cell_value)
if cell_value is None:
print("blank")
pass
else:
location_list.append(cell_value)
print(location_list)
for i in list_of_fdims:
wb = openpyxl.load_workbook(mypath+filename+".xlsx", data_only=True)
ws = wb['test_cases']
print(i)
get_location_list(wb,ws)
以下是返回空单元格值的方法:
在列表中:
['none']
使用print():
none
如果有人能帮助我,我会非常感激。非常感谢你提前!
答案 0 :(得分:0)
经过一些试验和错误,我只需要提出:
if cell_value == "none":
continue
else:
location_list.append(cell_value)
这解决了我的问题