Openpyxl - 无法从列表

时间:2017-11-16 19:48:22

标签: python excel openpyxl

我使用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

如果有人能帮助我,我会非常感激。非常感谢你提前!

1 个答案:

答案 0 :(得分:0)

经过一些试验和错误,我只需要提出:

if cell_value == "none":
        continue
    else:
        location_list.append(cell_value)

这解决了我的问题