Я пытаюсь построить выбранные столбцы файла журнала, который отформатирован следующим образом:
This is some random simulation info that is there but I dont care about.
------------------------------------------------------------------------------
Run-control output:
------------------
RUN ITER. HH:MM:SS.SS DT(E) UMAX VMAX WMAX U* W* THETA* Z_I ENERG. DISTENERG DIVOLD DIVNEW UMAX(KJI) VMAX(KJI) WMAX(KJI) ADVECX ADVECY MGCYC
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 0 00:00:00.00 2.7900A 2.8918 -5.5400 1.1731 0.100 0.00 0.315E+00 0. 0.374E+01 0.278E-02 0.000E+00 0.000E+00 42 298 0 143 118 299 44 0 184 0.000 0.000 0
0 1 00:00:02.79 2.7500A 2.8905 -5.5399 1.7561 0.030 0.00 -0.999E-01 0. 0.378E+01 0.947E-02 0.165E-03 0.133E-03 42 298 299 143 118 299 18 0 299 0.000 0.000 4
0 2 00:00:05.54 2.5700A 2.8891 -5.5397 2.4148 0.043 0.00 -0.982E+00 0. 0.379E+01 0.272E-01 0.136E-03 0.116E-03 42 298 299 143 118 299 40 298 295 0.000 0.000 4
Значения в «списке» разделены пробелом, иногда два, иногда три. Я предполагал перебрать файл, найти строку заголовка и вернуть индекс. Затем используйте pd.read_csv, чтобы получить его в список, но я не могу заставить его делать то, что я хочу, то есть иметь фрейм данных, а затем построить отдельные столбцы (в первую очередь «DT (E)», «U /В / WMAX "). Как мне отсортировать вышеупомянутую файловую структуру, чтобы я мог построить отдельные столбцы?
РЕДАКТИРОВАТЬ: Я нашел способ. Я перебираю каждую строку файла, чтобы найти ключевое слово «RUN» и получить индекс. Затем нарежьте файл, чтобы включить в него только файлы после этого индекса строки RUN + 2 строки. Затем я поместил каждую строку в виде строки в списке, а затем использовал string.split (), чтобы разделить ее. Затем, имея список списков, изменить его на фрейм данных было очень просто с помощью pd.DataFrame ().