从文本文件中将数据读入 numpy 数组 [英] Reading data into numpy array from text file
问题描述
我有一个包含一些元数据的文件,然后是一些由 2 列带标题组成的实际数据.在 numpy 中使用 genfromtxt 之前是否需要将两种类型的数据分开?或者我可以以某种方式拆分数据吗?将文件指针放在标题上方的行尾,然后从那里尝试 genfromtxt 怎么样?谢谢文件格式如下图所示:
I have a file with some metadata, and then some actual data consisting of 2 columns with headings. Do I need to separate the two types of data before using genfromtxt in numpy? Or can I somehow split the data maybe? What about placing the file pointer to the end of the line just above the headers, and then trying genfromtxt from there? Thanks The format of the file is shown below:
&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
推荐答案
如果你不想要前 n
行,试试(如果没有缺失数据):
If you don't want the first n
rows, try (if there is no missing data):
data = numpy.loadtxt(yourFileName,skiprows=n)
或(如果有缺失数据):
or (if there are missing data):
data = numpy.genfromtxt(yourFileName,skiprows=n)
如果再想解析header信息,可以返回open
文件解析header,例如:
If you then want to parse the header information, you can go back and open
the file parse the header, for example:
fh = open(yourFileName,'r')
for i,line in enumerate(fh):
if i is n: break
do_other_stuff_to_header(line)
fh.close()
这篇关于从文本文件中将数据读入 numpy 数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!