У меня есть старый файл VSOP87 для вычисления положения Юпитера.Файл в ascii и отформатирован с размерами столбцов, которые варьируются в зависимости от столбца, но постоянны между строками.Например (выбран из ~ 3500 строк):
4510 17 0 0 0 0 1 -3 0 0 0 0 0 0 -0.00003166372 0.00003746628 0.00004905419 1.32084631684 110.20632121940
4510 18 0 0 0 0 4-10 0 0 0 0 0 0 0.00005031135 0.00001683362 0.00005305283 1.30671236848 14.22709400160
Формат этих строк:
i2,3i1,i5,12i3, f15.11,2f18.11,f14.11,f20.11
, т. Е. Целое число из 2 цифр (здесь «4»), за которым следуетна 3 дюйма из 1 цифры (5,1,0) и т. д. Я хотел бы прочитать файл в Python и сохранить данные в виде массива NumPy.(Первая) проблема возникает в приведенном здесь примере, потому что здесь нет разделителя столбцов, а функции, такие как genfromtxt (), видят «4-10» как одно поле, тогда как формат указывает, что они являются двумя полями i3.Как я могу передать формат файла / строк, например, в стиле Fortran (как указано выше) или в стиле C (что-то вроде "% 2i% 1i% 1i% 1i% 5i ...")?