Нужна помощь с использованием ascii для записи файлов .dat - PullRequest
0 голосов
/ 17 сентября 2018

В настоящее время я пытаюсь использовать astropy.io.ascii в Python Anaconda для записи файла .dat, который содержит данные, которые я уже прочитал (используя ascii) из другого файла .dat.Я определил конкретную таблицу в ранее существовавшем файле как Data, проблема с данными заключается в том, что мне нужно умножить первый столбец на коэффициент 101325, чтобы изменить его единицы, и мне нужно четвертое из четырех столбцов, чтобы исчезнутьполностью.Таким образом, я определил первый столбец как Pressure_pa и преобразовал его единицы, затем я определил два других столбца как Altitude_km и Temperature_K.Можно ли как-нибудь использовать функцию ascii write, чтобы заставить ее написать файл .dat, содержащий три определенных мной столбца?И как бы я пошел по этому поводу?Ниже приведен код, который привел меня к определению этих трех столбцов данных:

from 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(), чтобы написать .datфайл с Pressure_pa, Altitude_km и Temperature_K в одном файле, есть ли способ сделать это?

1 Ответ

0 голосов
/ 17 сентября 2018

Так что я думаю, что я понял это!Я создам более общую версию для других

    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
...