Skip to main content
 首页 » 编程设计

python之将 .dat 文件转换为数组

2025年05月04日13softidea

我有一个从 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=',')