将.dat文件转换为数组

时间:2012-06-28 14:43:08

标签: python

我有一个从MATLAB生成的.dat文件(带有浮点值)。我需要将它转换为包含与.dat文件中相同数量的行和列的数组。有谁能建议这样做的方法?每行末尾都有一个\n我要删除。读入Python的.dat文件如下所示:

  

12,18 \ n42,17 \ n60,16 \ n86,17 \ n120,17 \ n137,12 \ n169,10 \ n189,14 \ n215,9 \ n248,11 \ n273,12 \ n301,17 \ n319,8 \ n345,17 \ n378,14 \ n403,10 \ n423,10 \ n453,18 \ n483,10 \ n507,15 \ n10,43 \ n43,44 \ n60,38 \ n96,41 \ N114 ,41 \ n139,41 \ n168,43 \ n189,40 \ n215,37 \ n248,45 \ n268,45 \ n301,37 \ n321,35 \ n

我希望输出格式如下:

12,18
42,17
...

其中12,4218,17位于不同的列中。

1 个答案:

答案 0 :(得分:1)

你对阵列的意思是什么?

with open('datafile','r') as f:
    rows=[map(float,L.strip().split(',')) for L in f]  # list of lists

arr=np.array(rows)  #Numpy array (assuming you `import numpy as np`)

或使用numpy.loadtxt

arr=np.loadtxt('datafilename',delimiter=',')