我想沿着文本文件中的列迭代脚本,但忽略前5列。
目前我的脚本逐行运行一个文本文件来评估第6列中的值。我希望它能够遍历评估第6列,然后是第7列,然后是第8列等的所有行。 当脚本读取文件时,我不想评估每一行的每一列,而是要遍历整个文件评估列n,然后重复第n + 1列
目前我很简单:
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for col in row:
但是我想指定它忽略前5列,因为它们不是目标(但仍然需要作为文件中的信息)。
我想类似范围6:20中col的行可能会有效,但我是一个python初学者,并且不知道在python中表达这个的正确方法。如果问题太混乱,请告诉我如何澄清这个问题。
提前感谢您的帮助。
最佳,
Rubal
答案 0 :(得分:5)
如果您有一个列表row
,则row[a:b]
是以元素编号a
开头且最多但不包含元素编号b
的元素范围。
例如:
row = ['alpha', 'beta', 'gamma', 'delta', 'epsilon']
print row[2:4]
这个的输出是
['gamma', 'delta']
所以在循环中你可以写:
for col in row[6:20]:
foo()
或者,使用
循环到列表的末尾for col in row[6:]:
foo()
答案 1 :(得分:4)
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for col in fields[5:]:
# process
答案 2 :(得分:2)
不复制
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for index in range(5, len(fields)):
#do_smth with fields[index]