You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MATLAB格式的TXT文件数据导入Python?

将MATLAB格式的.m文件数据导入Python

方法1:手动文本解析(无需MATLAB环境)

如果你的数据文件内容简单(像示例这样的二维数组赋值),可以直接读取文本并解析成Python列表或numpy数组:

假设你的文件名为data.m,内容如下:

% -----------------------------
Data(1, :) = [-2.875, 2.75, -1.0, -2.75, -0.875];
Data(2, :) = [-1.125, 2.625, 3.0, 1.25, 2.875];

执行以下Python代码:

import numpy as np

# 读取文件内容
with open('data.m', 'r') as file:
    all_lines = file.readlines()

# 筛选有效数据行(跳过注释和空行)
valid_lines = [line.strip() for line in all_lines if line.strip() and not line.strip().startswith('%')]

# 解析每一行的数组数据
parsed_data = []
for line in valid_lines:
    # 提取等号后、方括号内的数值字符串
    num_str = line.split('=')[1].strip().strip('[];')
    # 分割并转换为浮点数值
    row = [float(num.strip()) for num in num_str.split(',')]
    parsed_data.append(row)

# 转换为numpy数组(可选,根据需求选择列表或数组)
data_array = np.array(parsed_data)

# 输出结果
print("Python列表格式:")
print(parsed_data)
print("\nnumpy数组格式:")
print(data_array)

运行后会得到:

Python列表格式:
[[-2.875, 2.75, -1.0, -2.75, -0.875], [-1.125, 2.625, 3.0, 1.25, 2.875]]

numpy数组格式:
[[-2.875  2.75  -1.    -2.75  -0.875]
 [-1.125  2.625  3.     1.25   2.875]]

方法2:借助MATLAB生成.mat文件后读取(需MATLAB环境)

如果你的数据结构更复杂,或者有MATLAB环境可用,可以先通过MATLAB将变量导出为.mat格式,再用Python读取:

  1. 在MATLAB中运行你的.m文件,然后执行保存命令:
% 运行脚本加载Data变量
save('data.mat', 'Data')
  1. 在Python中用scipy.io读取.mat文件:
from scipy.io import loadmat

# 加载.mat文件
mat_data = loadmat('data.mat')
# 提取Data变量(注意scipy读取后会保留MATLAB的数组维度,这里是2x5的数组)
data_array = mat_data['Data']

print(data_array)

两种方法可根据自身环境和数据复杂度选择。

内容的提问来源于stack exchange,提问作者neoserdes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:06:28