2

我有一个从 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
...

where12,4218,17are 在不同的列中。

4

1 回答 1

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=',')
于 2012-06-28T14:46:51.487 回答