我有一个旧的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”),后跟1位数的3个整数(5,1,0),依此类推。我想在Python中读取文件并将数据存储为NumPy数组。 (第一个)问题在这里的示例中出现,因为没有列分隔符,并且诸如genfromtxt()之类的函数将“ 4-10”视为单个字段,而格式指示它们是i3的两个字段。如何传递文件/行的格式,例如是Fortran样式(如上所述)还是C样式(例如“%2i%1i%1i%1i%5i ...”之类)?