Python:在if-elif-else块中设置条件

Python:在if-elif-else块中设置条件,python,if-statement,Python,If Statement,我有以下代码片段: for row in lst: if 'Type' in row[0]: for col in range(len(row)): #do something elif (not 'Type' or '') in row[0]: for col in range(len(row)): #do something row_count +=1 对于elif的第二部分(不是“Type”或

我有以下代码片段:

for row in lst:
    if 'Type' in row[0]:
        for col in range(len(row)):
            #do something
    elif (not 'Type' or '') in row[0]:
        for col in range(len(row)):
            #do something
row_count +=1
对于
elif的第二部分(不是“Type”或“”)
如果
行[0]
=
'
计数器为真,但在
行[0]
时增加,如何不增加
行计数<是否满足代码>类型
?我无法将if-else块的计数器条件设置为im在
lst
中逐行扫描,这基本上是从python中的csv读取器读取的一行

也许我把自己弄得太复杂了? 建议plz

[编辑]-这是实际代码,我使用xlwt模块写入工作表

for row in spamReader:
    if 'Type' in row[0]:
        for col in range(len(row)):
            ws.write(0,col,convert(row[col]),style) 
    elif (not 'Type' or '') in row[0]:
        for col in range(len(row)):
            ws.write(row_count,col,convert(row[col]),style)
    row_count +=1
更多详情: 我有这个csv文件,我正在逐行扫描。无论哪一行的第一个值是“Type”,我都会将其写入另一个xls工作表中,使其成为第一行。否则,它将继续逐行复制。但是,当行的第1列为空时,即“.”,它应该传递/忽略它。

这样如何:

for row in spamReader:
    if row[0] == '':
        continue

    if 'Type' in row[0]:
        row_count = 0
        ... start new worksheet ...

    for col in range(len(row)):
        ws.write(row_count,col,convert(row[col]),style) 

您可以将
行计数
语句移动到if块中吗?您希望何时增加
行计数
?如果我将
行计数
语句移动到块中,我应该在哪个缩进处对齐它?因为,一旦它增加计数器,下一个块将在
do something
语句中使用它。。第[0]行中的
(不是“Type”或“”)应该是什么意思?除非我忽略了Python 3.0的一些新特性,
(不是“Type”或“”)
的计算结果就是
'
。不是吗?包含“Type”的行不会到达
elif
,因为它们被前面的
if
使用。如果
row[0]
是一个字符串,那么第[0]
行中的
''始终为true,因此您的
elif
条件是重言式,
elif
等同于普通的
else