Je rencontre un problème où les nombres flottants sont tronqués dans mon processus d'écriture csv. C'est difficile à reproduire, car cela arrive rarement dans des milliers de fichiers, mais j'ai besoin d'une protection contre cela. Voici un exemple de ce que le code ressemble à:Ecriture des flottants dans csvs dans python - erreur de troncature
import csv
import numpy as np
x = np.random.normal(0, .001, 1000).tolist()
draws_header = ['draw%s'%(x) for x in range(1000)]
final_output = np.array(x)
outfile = open('filepath.csv', 'w')
writer = csv.writer('filepath')
writer.writerow(first_row)
writer.writerows(final_output)
outfile.close()
Sur la base de la sortie (où tous les numéros ne sont pas nécessairement en dessous de 1), il semble que les derniers caractères dans un petit nombre (ie, » ... e-5 ") se perdent:
draw373 draw374 draw375 draw376
0.000744 0.003008 0.001566 9.727522
Des suggestions pour éviter cela?
Merci pour le pourboire - je vais lui donner un tourbillon. – mike
Bonne réponse, mais il serait plus propre de cette façon: >>> np.savetxt (f, np.array ([draw_header]), fmt = "% s", délimiteur = "\ t") >>> np .savetxt (f, [x], délimiteur = "\ t") – Tickon