我有一个从 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,42
和 18,17
在不同的列中。
最佳答案
数组是什么意思?
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=',')
关于python - 将 .dat 文件转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247137/