Python:如何迭代文本文件中行中的特定列
我想沿着文本文件中的列迭代脚本,但忽略前5列 当前,我的脚本逐行运行文本文件,评估第6列中的值。然后我希望它遍历所有行,评估第6列、第7列、第8列等等 我不想在脚本读取文件时对每一行的每一列进行评估,而是在整个文件中运行评估列n,然后对列n+1重复此操作 目前我有简单的:Python:如何迭代文本文件中行中的特定列,python,loops,Python,Loops,我想沿着文本文件中的列迭代脚本,但忽略前5列 当前,我的脚本逐行运行文本文件,评估第6列中的值。然后我希望它遍历所有行,评估第6列、第7列、第8列等等 我不想在脚本读取文件时对每一行的每一列进行评估,而是在整个文件中运行评估列n,然后对列n+1重复此操作 目前我有简单的: for line in Input: line = line.rstrip() fields = line.split("\t") for col in row: 但我想指定它忽略前5列,因为它们不
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for col in row:
但我想指定它忽略前5列,因为它们不是目标(但仍然需要作为文件中的信息)
我想像for col in row for range 6:20可能有用,但我是一个python初学者,不知道用python来表达这一点的正确方法。如果这个问题太令人困惑,请告诉我如何澄清
提前感谢您的帮助
最好的
Rubal不复制
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for index in range(5, len(fields)):
#do_smth with fields[index]
不抄袭
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for index in range(5, len(fields)):
#do_smth with fields[index]
如果您有一个列表
行
,则行[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()
如果您有一个列表
行
,则行[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:比我的答案更有用,因为OP的经验水平对两者都是+1,@marshall简洁,给出了我想要给出的答案,Eliot给出了可靠的解释。谢谢,这应该解决了Eliot Ball的问题。foo()是干什么的?foo()的意思是“把你自己的代码放在这里”。Foo通常被用作无意义的占位符。+1:比我的答案更有用,因为OP的经验水平对两者都是+1,@marshall简洁明了,给出了我想要给出的答案,而Eliot给出了可靠的解释。谢谢,这应该解决了Eliot Ball的问题。foo()是干什么的?foo()的意思是“把你自己的代码放在这里”。Foo通常用作无意义的占位符。您可以使用
csv
模块和cols=row[5:][/code>您可以使用csv
模块和cols=row[5:][/code>谢谢大家,所有这些评论都很有用。我现在对如何创建这些迭代结构有了更深入的了解!谢谢大家,所有这些评论都很有用。我现在对如何创建这些迭代结构有了更深入的了解!