从文本文件读取数据到numpy数组

2024-05-20 16:26:02 发布

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

我有一个包含一些元数据的文件,然后是一些包含两列标题的实际数据。在numpy中使用genfromtxt之前,我需要将这两种类型的数据分开吗?或者我可以把数据分开吗?把文件指针放在标题上方的行的末尾,然后从那里尝试genfromtxt怎么样?谢谢 文件格式如下:

 &SRS
<MetaDataAtStart>
multiple=True
Wavelength (Angstrom)=0.97587
mode=assessment
background=True
issid=py11n2g
noisy=True
</MetaDataAtStart>
&END
Two Theta(deg)  Counts(sec^-1)
10.0    41.0
10.1    39.0
10.2    38.0
10.3    38.0
10.4    41.0
10.5    42.0
10.6    38.0
10.7    44.0
10.8    42.0
10.9    39.0
11.0    37.0
11.1    37.0
11.2    45.0
11.3    36.0
11.4    37.0
11.5    37.0
11.6    40.0
11.7    44.0
11.8    45.0
11.9    46.0
12.0    44.0
12.1    40.0
12.2    41.0
12.3    39.0
12.4    41.0

Tags: 文件数据numpytrue标题类型modemultiple
1条回答
网友
1楼 · 发布于 2024-05-20 16:26:02

如果不需要第一行n,请尝试(如果没有丢失的数据):

data = numpy.loadtxt(yourFileName,skiprows=n)

或者(如果缺少数据):

data = numpy.genfromtxt(yourFileName,skiprows=n)    

如果要解析头信息,可以返回并open文件解析头,例如:

fh = open(yourFileName,'r')
for i,line in enumerate(fh):
    if i is n: break
    do_other_stuff_to_header(line)
fh.close()

相关问题 更多 >