gpt4 book ai didi

Python:跟踪文本文件中的当前列

转载 作者:行者123 更新时间:2023-11-28 22:02:43 26 4
gpt4 key购买 nike

这里是 Python 初学者。我正在逐列迭代一个文本文件。

for line in Input:
line = line.rstrip()
fields = line.split("\t")
for col in fields[5:]:

当我遍历列时,如何跟踪我所在的列?我想在输出中打印当前相关的列,这样当我得到结果时我就知道结果指的是哪一列。似乎有一个明显的答案,但我不知道!

在此先感谢您的帮助。我发现这里的人们乐于助人。

一些输入/输出示例:

输入文件中的行:

 chr20   1032    .       A     1/1 1/1 1/1 0/1 0/0
chr20 1326 . T 1/1 1/1 1/1 0/1 0/0
chr20 1388 . C 0/0 1/1 ./. 0/1 0/0

然后我浏览这些行,查看第 5 列,例如 1/1、1/1、0/0 并计算一些输出统计数据。我的输出文件包含使用第 5 列计算的每 x 行的统计信息。我希望我的输出文件还包括第 6 列、第 7 列等的结果,并且输出文件中的行告诉我数据是从哪一列计算的。本质上是为了节省我为每一列单独重新运行脚本的时间。

输出示例:

5   chr1    230344070   231345012   1000942 200720  66560   119841  7160    5.63775088385   94.3622491161
5 chr1 231345012 232345029 1000017 167920 55040 106160 3360 3.06793279766 96.9320672023
5 chr1 232345029 233345195 1000166 179280 64841 96079 9180 8.72134449311 91.2786555069

这里的第一列是指它是根据第 5 列中的值计算的事实

for index, col in enumerate(fields[5:]):

最好的,

鲁巴尔

最佳答案

你可以试试这样的东西

for i,col in enumerate(fields[5:], 5):
....

enumerate()将为您生成一个索引值,默认情况下它以 0 开头,除非将起始值指定为 enumerate() 的第二个参数,如上所示为 5。

变量 i 将从值 5 开始,并允许您跟踪您正在处理的当前列和 col(和以前一样)该字段的值专栏。

或者,为了方便和更容易修改,您可以使用变量:

start_col = 5
for i,col in enumerate(fields[start_col:], start_col):
....

--- 更新回复下面的评论:

我仍然不太确定我是否理解您的评论,但是如果您发布的循环在一个更大的循环中,您可以像这样跟踪您当前的专栏:

cur_column = 5
for line in Input:
line = line.rstrip()
fields = line.split("\t")
for col in fields[cur_colum:]:
...
...

cur_column += 1 # done processing current column, increment value to next column

如果您的代码太大而无法发布,发布一些简单的输入/输出示例会有所帮助。如果没有更多信息,很难真正知道如何提供帮助。我希望这对您有所帮助。

关于Python:跟踪文本文件中的当前列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10870736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com