Чтение блоков данных из файла в Python
Я новичок в Python и пытаюсь прочитать "блоки" данных из файла. Файл написан примерно так:
<code># Some comment # 4 cols of data --x,vx,vy,vz # nsp, nskip = 2 10 # 0 0.0000000 # 1 4 0.5056E+03 0.8687E-03 -0.1202E-02 0.4652E-02 0.3776E+03 0.8687E-03 0.1975E-04 0.9741E-03 0.2496E+03 0.8687E-03 0.7894E-04 0.8334E-03 0.1216E+03 0.8687E-03 0.1439E-03 0.6816E-03 # 2 4 0.5056E+03 0.8687E-03 -0.1202E-02 0.4652E-02 0.3776E+03 0.8687E-03 0.1975E-04 0.9741E-03 0.2496E+03 0.8687E-03 0.7894E-04 0.8334E-03 0.1216E+03 0.8687E-03 0.1439E-03 0.6816E-03 # 500 0.99999422 # 1 4 0.5057E+03 0.7392E-03 -0.6891E-03 0.4700E-02 0.3777E+03 0.9129E-03 0.2653E-04 0.9641E-03 0.2497E+03 0.9131E-03 0.7970E-04 0.8173E-03 0.1217E+03 0.9131E-03 0.1378E-03 0.6586E-03 and so on </code>
Теперь я хочу иметь возможность указать и прочитать только один блок данных из этих многих блоков. Я используюnumpy.loadtxt('filename',comments='#')
читать данные, но загружает весь файл за один раз. Я искал в Интернете, и кто-то создал патч для подпрограммы numpy io, чтобы указать блоки чтения, но он не входит в основной поток numpy.
Намного проще выбирать блоки данных в gnuplot, но мне нужно написать подпрограмму для построения функций распределения. Если бы я смог разобраться с чтением определенных блоков, в Python было бы намного проще. Кроме того, я перемещаю все свои коды визуализации в python из IDL и gnuplot, поэтому было бы неплохо иметь все в python вместо того, чтобы разбрасывать их по нескольким пакетам.
Я думал о вызове gnuplot из Python, построении блока для таблицы и назначении вывода некоторому массиву в Python. Но я все еще начинаю и не могу понять синтаксис, чтобы сделать это.
Любые идеи, указатели для решения этой проблемы будут очень полезны.