Écrire des valeurs sans point décimal dans un autre fichier à l'aide de outfile
-
21-12-2019 - |
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
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