首页 > 解决方案 > 如何将整数数组保存到将数字显示为整数的文件中

问题描述

我正在尝试将数组保存到 txt 文件,我使用了以下函数:

numpy.savetxt('C:/Users/Adminstrator/Desktop/mesh/ELIST2-clean.txt',array2DClean, delimiter='\t')

文件中的数据如下所示:

1.300000000000000000e+01    2.710000000000000000e+02    2.360000000000000000e+02    7.200000000000000000e+01    2.350000000000000000e+02
2.400000000000000000e+01    2.760000000000000000e+02    2.060000000000000000e+02    1.310000000000000000e+02    1.300000000000000000e+02
3.200000000000000000e+01    2.580000000000000000e+02    2.820000000000000000e+02    2.570000000000000000e+02    5.000000000000000000e+01
3.600000000000000000e+01    2.800000000000000000e+02    5.100000000000000000e+01    5.000000000000000000e+01    1.030000000000000000e+02
3.900000000000000000e+01    2.800000000000000000e+02    2.250000000000000000e+02    1.120000000000000000e+02    1.110000000000000000e+02
4.300000000000000000e+01    2.810000000000000000e+02    1.630000000000000000e+02    2.200000000000000000e+01    1.640000000000000000e+02
4.900000000000000000e+01    2.850000000000000000e+02    1.150000000000000000e+02    1.600000000000000000e+02    1.610000000000000000e+02

如何在没有 xe+y 表示法的情况下将写入文件的数字格式化为整数?

标签: python-3.x

解决方案


numpy.savetxt有一个fmt采用数字格式的参数。

fmt:str 或 str 序列,可选

单一格式 (%10.5f)、格式序列或多格式字符串,例如 'Iteration %d – %10.5f',在这种情况下,分隔符将被忽略。对于复数 X,fmt 的合法选项是:

单个说明符,fmt='%.4e',产生格式为 ' (%s+%sj)' % (fmt, fmt) 的数字

指定每个实部和虚部的完整字符串,例如 ' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej' 用于 3 列

说明符列表,每列一个 - 在这种情况下,实部和虚部必须具有单独的说明符,例如 ['%.3e + %.3ej', '(%.15e%+.15ej)'] 用于 2 列

一定要numpy.savetxt('C:/Users/Adminstrator/Desktop/mesh/ELIST2-clean.txt',array2DClean, delimiter='\t', fmt='%.0f')使用格式字符串,它以零小数位的定点表示法写入浮点数。

更多信息:https ://docs.python.org/3/library/string.html#format-specification-mini-language


推荐阅读