如何用十进制标记后的固定号写入astropy Table对象值?

时间:2014-02-24 07:27:05

标签: python python-2.7 astropy

如何保留将值写入astropy Table对象的格式,以及将表格写入文件时?

我正在对包含此格式值的txt文件中的数据进行计算:

3.160792680383711552e-04    9.180738349762776473e-02    7.997959651731425081e-05    9.978300086189421103e-01

然后我读取这些值,根据每行的值添加另一列作为我的计算,我想将它们写回文件,因此我写的文件将与旧文件具有相同的列与另一列,我计算的值。但是当我尝试这样做时,它会改变写入这些值的格式:

0.000316079268038   0.0918073834976   7.99795965173e-05   0.997830008619 

1 个答案:

答案 0 :(得分:6)

设置列格式说明符:

http://astropy.readthedocs.org/en/v0.3/table/construct_table.html#format-specifier

>>> from astropy.table import Table
>>> t = Table([[1.0]], names=['a'])
>>> t['a'].format = '%.16e'
>>> t.write(sys.stdout, format='ascii')
a
1.0000000000000000e+00