1

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

我正在对从具有以下形式的值的 txt 文件中获取的数据执行计算:

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

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

0.000316079268038   0.0918073834976   7.99795965173e-05   0.997830008619 
4

1 回答 1

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
于 2014-02-24T17:32:24.033 回答