Python 如何解决“非类型”对象不可下标的问题?

Python 如何解决“非类型”对象不可下标的问题?,python,Python,我试图通过python有条件地选择excel中范围内的所有单元格,但每次都会显示“NoneType”对象不可下标 有办法解决吗 我已经尝试在ws.cell…周围放置str,但仍然不起作用 target_list = [] for i in range(1,20638): for j in range(1,49): if ws.cell(row = i, column = j).value[0:4] == "Drug": target_list.a

我试图通过python有条件地选择excel中范围内的所有单元格,但每次都会显示“NoneType”对象不可下标 有办法解决吗

我已经尝试在ws.cell…周围放置str,但仍然不起作用

target_list = []

for i in range(1,20638):
    for j in range(1,49):
        if ws.cell(row = i, column = j).value[0:4] == "Drug":
            target_list.append(ws.cell(row = i, column = j).value[5:])
        else:
            pass 

我希望选择所有以单词Drug开头的单元格,但每次都会显示“NoneType”对象不可下标。

只需在该行之前添加一个复选框:

target_list = []

for i in range(1,20638):
    for j in range(1,49):
        if (ws.cell(row = i, column = j).value) is None:
            continue
        if ws.cell(row = i, column = j).value[0:4] == "Drug":
            target_list.append(ws.cell(row = i, column = j).value[5:])
        else:
            pass 

使用标记编辑器发布正确缩进的代码。您的代码无法按原样读取。无法确切说明为什么没有,但您要订阅的方括号表示的其中一个变量[]为无,相反,您的问题应包含一小部分数据。如果您的问题已解决,请标记正确答案。