Похоже, ваш текст отформатирован таким образом, что genfromtxt
может обработать его без проблем.
Если игнорировать имена столбцов и т. Д., То пример строки будет:
In [235]: txt = """-1.99 -1.99 1.07+0.165j"""
Укажите dtype
как плавающее и сложное для соответствующих столбцов:
In [240]: data = np.genfromtxt([txt,txt],dtype=(float,float,complex))
In [241]: data
Out[241]:
array([(-1.99, -1.99, 1.07+0.165j), (-1.99, -1.99, 1.07+0.165j)],
dtype=[('f0', '<f8'), ('f1', '<f8'), ('f2', '<c16')])
Результатом является структурированный массив (1d).Доступ к полям осуществляется по имени:
In [242]: data['f0']
Out[242]: array([-1.99, -1.99])
In [243]: data['f2']
Out[243]: array([1.07+0.165j, 1.07+0.165j])
Считыватель CSV Pandas работает быстрее, но, учитывая, что в нем всего 200 точек данных, скорость не составит большого труда.