Python: Как записать данные в файл в определенном формате? - PullRequest
1 голос
/ 04 мая 2010

у меня есть массив MAC1_Val:

MAC1_Val массив ([1.00000000e + 00, -1.00000000e + 01, -2.06306600e + 02, 2.22635749e + 02, 1.00000000e + 00, 1.00000000e + 01, 1,00000000e + 01, -2,06306600e + 02, 2,22635749e + 02, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 0,00000000e + 00, 1,00000000e + 00, -1,08892735e + 01, 1,88607749e + 01, 1,03153300e + 01, -1,78666757e + 01, 3,33333333e-07, -3,33333333e-07, -4.21637021e-05, 4.21637021e-05, 9.98844400e-01, -1.73973001e-03, 1.20938900e-03, 1.87742948e-03, -3,33333333e-03, 6,66666667e-03, -3,33333333e-03, -2,64911064e-01, -2,60959501e + 01, 2,81614422e + 01, 3.33333333e-03, -6.66666667e-03, 3.33333333e-03, 0,00000000e + 00, 0,00000000e + 00])

и я хочу записать в файл (.txt) значения в определенном формате, например:

1.000000e+00
-1.000000e+01 
-2.063066e+02
2.226357e+02
1.000000e+00   
1.000000e+01 .......

обратите внимание, что на 6 цифр от плавающей запятой

какие-либо предложения, как это сделать? заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

printf стандарт - ваш друг:

for i in MAC1_Val:
    print "%.6e" % i

1.000000e+00
-1.000000e+01
-2.063066e+02
2.226357e+02
1.000000e+00
1.000000e+01
1.000000e+01
1 голос
/ 04 мая 2010

Используйте строковую интерполяцию для форматирования числа.

'%.3f' % (1.23456,)
...