加载txt文件时跳过第一行和每N行(Python)

2024-09-30 10:39:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在一个.txt文件中有一些数据如下:

"CLUSTER" "observed" "metric" "structure" "patID"
"1" 1 5.56802742675389 "V50GY" "Wall" "Generic-420-Wall-70"
"2" 1 3.04813846733667 "V70GY" "Wall" "Generic-420-Wall-70"
"3" 2 5.67825143127034 "V50GY" "Wall" "Generic-420-Wall-72"
"4" 2 3.05994158400609 "V70GY" "Wall" "Generic-420-Wall-72"
"5" 3 5.89519521321811 "V50GY" "Wall" "Generic-420-Wall-74"
"6" 3 3.12327777559325 "V70GY" "Wall" "Generic-420-Wall-74"
"7" 4 5.95329849423797 "V50GY" "Wall" "Generic-420-Wall-76"
"8" 4 3.23398452311885 "V70GY" "Wall" "Generic-420-Wall-76"
"9" 5 5.98067106255001 "V50GY" "Wall" "Generic-420-Wall-78"
"10" 5 3.36621440490947 "V70GY" "Wall" "Generic-420-Wall-78"

我还有一些数据,其中metric列中没有变化,因此整个列中的metric是相同的。现在,为了从中提取数据,我使用以下代码来获取十进制值:

^{pr2}$

然后用这些数据进行绘图。在

但是,对于我在这里附上的数据,我只需要在第一条跳过线之后的每2行数据,即(1,3,5,7,9)用于第一个具有五个x值的绘图,并且在前两个跳过的行之后的每2行数据,即(2,4,6,8,10)对于第二个具有5个x值的绘图。在

但我真的不知道该怎么做。甚至可以用np.loadtxt函数来完成吗?在


Tags: 文件数据代码txt绘图structuremetricgeneric
1条回答
网友
1楼 · 发布于 2024-09-30 10:39:44
In [296]: y = np.loadtxt(txt.splitlines(), skiprows=1, usecols=(2,))
In [297]: y
Out[297]: 
array([ 5.56802743,  3.04813847,  5.67825143,  3.05994158,  5.89519521,
        3.12327778,  5.95329849,  3.23398452,  5.98067106,  3.3662144 ])

在你的负载下,我得到了一个一维的值数组

普通切片可以给我每一个其他值

^{pr2}$

您也可以通过使用这个答案中描述的过滤器https://stackoverflow.com/a/13893642/901925跳过文本中的行。但是当某些行不能/不应该加载时,这种方法更有用。这里可以加载所有行,因此加载后更容易选择它们。在

相关问题 更多 >

    热门问题