需要帮助使用ascii编写.dat文件

时间:2018-09-16 21:18:25

标签: python ascii astropy

当前,我正在尝试在python anaconda中使用astropy.io.ascii来编写一个.dat文件,其中包含我已经从其他{{ 1}}文件。我在预先存在的文件中将一个特定的表定义为Data,Data的问题是我需要将第一列乘以101325的倍数来更改其单位,并且需要四列中的第四列才能消失完全。因此,我将第一列定义为ascii并转换其单位,然后将其他两列定义为.datPressure_pa。我有什么方法可以使用Altitude_km的{​​{1}}函数来告诉它编写一个包含我定义的三列的Temperature_K文件?我将如何处理呢?下面是使我想到定义这三列数据的代码:

ascii

现在,我认为我可以使用write.datfrom astropy.io import ascii Data=ascii.read('output_couple_121_100.dat',guess=False,header_start=384,data_start=385,data_end=485,delimiter=' ') Pressure_pa=Data['P(atm)'][:}*101325 Altitude_km=Data['Alt(km)'][:] Temperature_K=Data['T'][:] ascii.write()的{​​{1}}文件写入同一文件,有什么办法吗?

1 个答案:

答案 0 :(得分:1)

所以我想我明白了!我将创建一个更通用的版本以适合其他人

    from astropy.io import ascii
    Data=ascii.read('filename.dat',guess=False,header_start=1,data_start=2,data_end=10,delimiter=' ')
    #above: defining Data as a certain section of a .dat file beginning at line 2 through 10 with headers in line 1
    ascii.write(Data,'new_desired_file_name.dat',names=['col1','col2','col3','col4'],exclude_names=['col3'],delimiter=' ')
    #above: telling ascii to take Data and creat a .dat file with it, when defining the names, define a name for every column in Data and then use the exclude_names command to tell it not to include those specific columns