J'ai un fichier avec des métadonnées, puis des données réelles composées de 2 colonnes avec des en-têtes. Dois-je séparer les deux types de données avant d'utiliser genfromtxt dans numpy? Ou puis-je diviser les données d'une manière ou d'une autre? Que diriez-vous de placer le pointeur de fichier à la fin de la ligne juste au-dessus des en-têtes, puis d'essayer genfromtxt à partir de là? Merci Le format du fichier est indiqué ci-dessous:
&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
Si vous ne voulez pas les premières n
lignes, essayez (s'il n'y a pas de données manquantes):
data = numpy.loadtxt(yourFileName,skiprows=n)
ou (s'il manque des données):
data = numpy.genfromtxt(yourFileName,skiprows=n)
Si vous souhaitez ensuite analyser les informations d'en-tête, vous pouvez revenir en arrière et open
le fichier analyser l'animateur, par exemple:
fh = open(yourFileName,'r')
for i,line in enumerate(fh):
if i is n: break
do_other_stuff_to_header(line)
fh.close()