python - 如何将 astropy 表的标题和单位保存到 ascii 文件中

标签 python numpy save ascii astropy

我正在尝试创建一个 ascii 表,其中包含有关标题的一些信息、列的名称和单位以及一些数据,它应该如下所示:

 # ... Header Info ...
          Name | Morphology |         ra_u |        dec_u | ...
               | InNS+B+MOI | HH:MM:SS.SSS | ±DD:MM:SS:SSS| ...
 ==============| ========== | ============ | ============ | ...
 1_Cam_A       | I          | 04:32:01.845 | +53:54:39.03   ...
 10_Lac        | I          | 22:39:15.679 | +39:03:01.01   ... 
...

到目前为止,我已经尝试使用 numpy.savetxt 和 astropy.ascii.writhe,numpy 并不能真正解决我的问题,而使用 ascii.write 我已经能够得到类似但不太正确的东西:

              Name | Morphology |         ra_u |        dec_u | ...    
================== | ========== | ============ | ============ | ...
1_Cam_A            | I          | 04:32:01.845 | +53:54:39.03   ...
...

我正在使用这段代码:

formato= {'Name':'%-23s','Morphology':'%-10s','ra_u':'%s','dec_u':'%s',...}
names=['Name','Morphology','ra_u','dec_u','Mag6']
units=['','InNS+B+MOI','HH:MM:SS.SSS','±DD:MM:SS:SSS',...]
ascii.write(data, output='pb.txt',format='fixed_width_two_line',position_char='=',delimiter=' | ',names=names, formats=formato)

因此,如果我在终端中进行打印,除了标题信息外,表格看起来应该是正常的,但是当我将其保存到文件中时,单位消失了...

有什么方法可以将它们包含在文件中吗?或者我需要保存文件并稍后再编辑?

P.D.:我还尝试了一些其他格式,例如 ascii.write 的 IPAC,在这种情况下,问题是标题中包含第 4 行,如:'|空 | null |.....' 而且我不知道如何摆脱它...

感谢帮助

祝你好运。

最佳答案

使用 astropy.tableastropy.io.ascii 似乎没有直接的方法以通用方式写出列的单位。您可能想在 https://github.com/astropy/astropy/issues 提出问题带有功能请求。

但是,使用 ascii.ipac 格式有一个非常简单的解决方法:

tbl.write('test.txt', format='ascii.ipac')
with open('test.txt', 'r') as fh:
    output = []
    for ii, line in enumerate(fh):
        if ii not in (1,3):
            output.append(line)

with open('test.txt', 'w') as fh:
    fh.writelines(output)

将以 IPAC 格式写出,然后删除第 2 行和第 4 行。

关于python - 如何将 astropy 表的标题和单位保存到 ascii 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36261388/

相关文章:

python - 在 Python 中查找最接近特定值的列表项

python - App Engine Datastore IN Operator - 如何使用?

python - 将图像堆叠为 numpy 数组更快(比预分配)?

python - 使用 cython 加速 numpy 矩阵乘法

python - 在外键中使用 Django bulk_create 对象?

python - 计算正弦定律的问题

python - 寻找解析器集合来提取函数/类定义

python - SkLearn : ValueError shapes not aligned during prediction

filesystems - 为什么需要保存按钮?

r - 保存和加载 data.frames