Python:在if-elif-else语句中设置条件
我有以下这段代码:
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 (not 'Type' or '')
的第二部分,我想知道如果row[0]
等于''
时,怎么才能不增加row_count
这个计数器,但当row[0]
不等于Type
时却要增加?我在lst
中逐行扫描,因为lst
基本上是从Python的csv读取器中读取的一行数据,所以我无法在if-else块中设置计数器的条件。
也许我把事情搞得太复杂了?请给点建议。
[编辑] - 这是实际的代码,我正在使用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 个回答
0
这样怎么样:
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)