我有一个由在 SL6 上运行的 Fortran 程序创建的文本文件。看起来像:
1
R - Z binning n. 1 "1 " , generalized particle n. 223 R coordinate: from 0.0000E+00 to 1.1000E+02 cm, 110 bins ( 1.0000E+00 cm wide) Z coordinate: from -2.9000E+02 to 2.9000E+02 cm, 290 bins ( 2.0000E+00 cm wide) axis coordinates: X = 0.0000E+00, Y = 0.0000E+00 cm Data follow in a matrix A(ir,iz), format (1(5x,1p,10(1x,e11.4))) accurate deposition along the tracks requested this is a track-length binning 3.0406E-01 2.3565E-02 1.0664E-02 7.2081E-03 5.2534E-03 4.8756E-03 4.5011E-03 4.2792E-03 4.1801E-03 3.9648E-03 3.9108E-03 3.8301E-03 3.7256E-03 3.6330E-03 3.5912E-03 3.5461E-03 3.4579E-03 3.4813E-03 3.4395E-03 3.3868E-03 And so on for 6000 lines...
我想将所有数字读入列表列表,因此我必须跳过前九行,但尽管打开为“rU”,Python 仍无法识别尾行。就像一个测试,这段代码:
f = open(file, 'rU')
print f.readlines(2)
输出(将 '\n' 作为字符串的一部分读取):
BlBlockq['1\n', ' R - Z 分箱 n. 1“1”,广义粒子n。223\n', ' R 坐标:从 0.0000E+00 到 1.1000E+02 cm,110 个 bin(1.0000E+00 cm 宽)\n', ' Z 坐标:从 -2.9000E+02 到 2.9000E+02 cm, 290 bins ( 2.0000E+00 cm 宽)\n', ' 轴坐标:X = 0.0000E+00, Y = 0.0000E+00 cm\n', ' 数据遵循矩阵 A(ir,iz) , format (1(5x,1p,10(1x,e11.4)))\n', '\n', ' 沿要求的轨道精确沉积\n', '这是轨道长度分箱\n' , ' 3.0406E-01 2.3565E-02 1.0664E-02 7.2081E-03 5.2534E-03 4.8756E-03 4.5011E-03 4.2792E-03 4.1801E-03 3.9648E-03 E-', ' 3.9108 03 3.8301E-03 3.7256E-03 3.6330E-03 3.5912E-03 3.5461E-03 3.4579E-03 3.
非常感谢您对此的任何帮助!