用科学记数法的蟒蛇EXY

时间:2013-11-13 14:32:38

标签: python scientific-notation

所以我正在将数组的列写入文件,并且该文件将由对空间敏感的程序使用,因此它必须是正确的方式:

*DEFINE_CURVE_TRIM 
$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED 
      1111         1        -1         0     0.001
 7.50000E01 , 0.00000E00
 7.49906E01 , 1.18995E00
 7.49622E01 , 2.37960E00

我正在处理一些带有大量小数的浮点数,所以我将它们四舍五入以得到相同的小数位数,但是python表示法是E + 01并且它必须是E01

udskrift = open('DEFINE_CURVE_TRIM_FULL','w')
udskrift.write('*DEFINE_CURVE_TRIM\n$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED\n      1111         1        -1         0     0.001\n')
for entry in polar_koordinator:
    udskrift.write(" %.5E , %.5E\n" % (entry[2], entry[3]))

输出

*DEFINE_CURVE_TRIM
$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED
      1111         1        -1         0     0.001
 8.00976E+01 , 0.00000E+00
 8.01050E+01 , 1.25839E+00

所以关于如何删除'+'的任何指针都会变成E01?我不想重新打开文件并删除它们

1 个答案:

答案 0 :(得分:1)

一个简单的方法就是写

udskrift.write((" %.5E , %.5E\n" % (entry[2], entry[3])).replace('E+', 'E'))

但这似乎不是pythonic。