Python:如何以特定格式写入文件?
我有一个叫做 MAC1_Val 的数组:
MAC1_Val array([ 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 个回答
使用 字符串插值 来格式化数字。
'%.3f' % (1.23456,)
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