Pregunta

Bellow es un código que toma valores de dos archivos TXT para realizar otro archivo 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]))

Se parecen las primeras líneas del archivo de salida

1958.0 53385.0 614.0

2214.0 53794.0 308.0

436.0 51883.0 634.0

Estoy tratando de hacerlo para que los valores sean números enteros que no incluyen decimales al igual que

1958 53385 614

2214 53794 308

436 51883 634

¿Fue útil?

Solución

Puede haber formas más elegantes de combinar sus matrices que para un bucle y formas más elegantes de escribir en un archivo.Pero utilizando su código, debe poder reemplazar la última línea para obtener el resultado deseado:

Reemplazarlo con outfile.write('%d %d %d\n' % (int(plate2[i]), int(mjd2[i]), int(fiber2[i])))

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top