我有一个csv文件,如下所示:
CCC;reserved;reserved;pIndex;wedgeWT;NA;NA;NA;NA;NA;xOffset;yOffset;zOffset
0.10089,0,0,1,0,0,0,0,0,0,-1.8,-0.7,1999998
0.1124,0,0,3,0,0,0,0,0,0,-1.2,1.8,-3.9
我正在使用fileinput
方法在文件中执行某些操作,但我想跳过第一行(标题)行的操作,尽管仍保留在那里。我尝试过使用next(f)
和f.isfirstline()
,但他们删除了标题行。我想保持标题行完整,但不对其进行任何操作。
with fileinput.input(inplace=True) as f:
#skip line
for line in f:
.
.
答案 0 :(得分:0)
您可以使用enumerate
轻松跟踪行号:
for linenum, line in enumerate(f):
if linenum == 0:
# 'line' is the header line
continue
# 'line' is a data line
# ...
答案 1 :(得分:0)
您可以使用iter
并使用next
with fileinput.input(inplace=True) as f:
iterF = iter(f)
print next(iterF)#skipping computation but printing data
for line in iterF:
#...
这样你只需要一次创建迭代器的开销,但是不会像@JonathonReinhart解决方案那样在每个迭代循环中创建索引或计算if
(这也是有效的)。