Question

ci-dessous est un code qui prend les valeurs de deux fichiers txt pour créer un autre fichier txt

plate1, mjd1, fiber1, d1, pval1 = np.loadtxt('combine3ga.txt', unpack='True')  
plate2, mjd2, fiber2, d2, pval2 = np.loadtxt('combine4ga.txt', unpack='True')

with open('ekek2.txt', 'w') as outfile:
    for i in range(len(plate1)):
        if d2[i] < d1[i] and pval2[i] > 0.8:
            print plate2[i], mjd2[i], fiber2[i], d2[i], pval2[i]
            with open('ekek2.txt', 'a') as outfile:
                outfile.write('{0} {1} {2}\n'.format(plate2[i], mjd2[i], fiber2[i]))

Les premières lignes du fichier de sortie ressemblent à

1958.0 53385.0 614.0

2214.0 53794.0 308.0

436.0 51883.0 634.0

J'essaie de faire en sorte que les valeurs soient des nombres entiers sans compter les décimales, tout comme

1958 53385 614

2214 53794 308

436 51883 634

Était-ce utile?

La solution

Il existe peut-être des moyens plus élégants de combiner vos tableaux qu'une boucle for et des moyens plus élégants d'écrire dans un fichier.Mais grâce à votre code, vous devriez pouvoir remplacer la dernière ligne pour obtenir le résultat souhaité :

Remplacez-le par outfile.write('%d %d %d\n' % (int(plate2[i]), int(mjd2[i]), int(fiber2[i])))

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top