我需要将一个 ASCII 文件读入 Python,该文件的摘录如下所示:
E M S T N...
...
9998 1 1 128 10097 10098 10199 10198 20298 20299 20400 20399
9999 1 1 128 10098 10099 10200 10199 20299 20300 20401 20400
10000 1 1 128 10099 10100 10201 10200 20300 20301 20402 20401
10001 1 2 44 2071 2172 12373 12272
10002 1 2 44 2172 2273 12474 12373
理想情况下,上述内容应遵循 NumPy 模式:
array([(9998, 1, 1, 128, (10097, 10098, 10199, 10198, 20298, 20299, 20400, 20399)),
(9999, 1, 1, 128, (10098, 10099, 10200, 10199, 20299, 20300, 20401, 20400)),
(10000, 1, 1, 128, (10099, 10100, 10201, 10200, 20300, 20301, 20402, 20401)),
(10001, 1, 2, 44, (2071, 2172, 12373, 12272)),
(10002, 1, 2, 44, (2172, 2273, 12474, 12373))],
dtype=[('E', '<i4'), ('M', '<i4'), ('S', '<i4'), ('T', '<i4'), ('N', '|O4')])
最后一个对象 ,N
是tuple
2 到 8 个整数的 a。
我想使用np.loadtxt
or加载这个参差不齐的结构np.genfromtxt
,但我不确定这是否可行。任何内置提示,还是我需要做一个自定义的 split-cast-for-loop?