Создайте файл журнала с разделенными пробелами столбцами и строками между ними в Python - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь построить выбранные столбцы файла журнала, который отформатирован следующим образом:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...