Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何迭代文本文件中行中的特定列_Python_Loops - Fatal编程技术网

Python:如何迭代文本文件中行中的特定列

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列,因为它们不

我想沿着文本文件中的列迭代脚本,但忽略前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 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>谢谢大家,所有这些评论都很有用。我现在对如何创建这些迭代结构有了更深入的了解!谢谢大家,所有这些评论都很有用。我现在对如何创建这些迭代结构有了更深入的了解!