Python:如何以特定格式将数据写入文件?

发布于 2024-08-31 09:16:42 字数 1379 浏览 1 评论 0原文

我有一个名为 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 位数字,

有什么建议如何执行此操作? 提前致谢!

i have an array called 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])

and i want to write in file (.txt) values in specific format like this:

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

note that are 6 digits behind floating point

any suggestions how to do this?
thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼前雾蒙蒙 2024-09-07 09:16:42

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

printf standard is your friend:

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
明明#如月 2024-09-07 09:16:42

使用字符串插值来格式化数字。

'%.3f' % (1.23456,)

Use string interpolation to format the number.

'%.3f' % (1.23456,)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文