Как сохранить массив python с адаптивной точностью с плавающей точкой?

#python #io #precision

Вопрос:

У меня есть массив значений, которые я читаю из txt-файла. Количество столбцов является переменным, как и точность с плавающей точкой (однако точность с плавающей точкой согласована в одном столбце). Например :

 a = np.array([[ 42.623, 41.965, 600.488, 146. , 145. , 150. , 0.00004]])  

Как я могу сохранить этот массив в txt-файле без большего количества плавающих чисел, чем необходимо ?

В настоящее время я пытаюсь использовать numpy.savetxt, и, хотя следующая строка подходит для этого конкретного случая, мне нужно уметь выводить плавающую точность в каждом столбце из значений, если я хочу, чтобы ее можно было использовать для любого типа txt-файла.

 np.savetxt("out_a.txt", a, fmt=['%1.3f', '%1.3f', '%1.3f', '%1.0f', '%1.0f', '%1.0f', '%1.5f'])  

Единственный способ, о котором я думаю в данный момент, — это прочитать одну строку моих данных в виде строк, разделенных пробелом, чтобы использовать len() ее. есть ли более элегантный способ ?