Escrevendo valores sem casas decimais em outro arquivo usando outfile
-
21-12-2019 - |
Pergunta
abaixo está um código que pega valores de dois arquivos txt para fazer outro arquivo 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]))
As primeiras linhas do arquivo de saída parecem
1958.0 53385.0 614.0
2214.0 53794.0 308.0
436.0 51883.0 634.0
Estou tentando fazer com que os valores sejam números inteiros, sem incluir decimais, como
1958 53385 614
2214 53794 308
436 51883 634
Solução
Pode haver maneiras mais elegantes de combinar seus arrays do que um loop for e maneiras mais elegantes de gravar em um arquivo.Mas usando seu código, você poderá substituir a última linha para obter o resultado desejado:
Substitua-o por outfile.write('%d %d %d\n' % (int(plate2[i]), int(mjd2[i]), int(fiber2[i])))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow