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
。