python mat转npy或csv

本文介绍了如何使用Python库(如NumPy和Pandas)将来自MATLAB的warpAR10P.mat文件加载,将其数据整合到DataFrame中,并分别保存为CSV和NPY格式。重点在于数据转换过程和文件格式转换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import pandas as pd
import scipy.io as sio

features_struct = sio.loadmat('./warpAR10P.mat')
features = list(features_struct.values())  
features = np.hstack((features[3], features[4]))

# 保存为csv
dfdata = pd.DataFrame(data=features)
dfdata.to_csv('./warpAR10P.csv', index=False)

# 保存为npy
np.save('./warpAR10P', features)
### 如何在 MATLAB 中读取并显示 NPY 格式的点云文件 为了在 MATLAB 中处理 `.npy` 文件,可以利用 Python 的 `numpy` 库加载数据,并通过系统命令调用 Python 脚本传递给 MATLAB。MATLAB 自身不直接支持 `.npy` 文件的解析,因此借助外部工具是一个有效途径。 #### 使用 Python 加载 NPY 数据到 MATLAB 首先,在本地环境中安装必要的 Python 包: ```bash pip install numpy scipy ``` 创建一个简单的 Python 函数来读取 `.npy` 文件并将结果保存为文本其他易于导入的形式,比如 CSV MAT 文件[^1]。 Python脚本 (`read_npy.py`)如下所示: ```python import numpy as np import sys from scipy.io import savemat def load_and_save(file_path, output_file): data = np.load(file_path) # 假设data是一个N*3矩阵表示xyz坐标 savemat(output_file, {"points": data}) if __name__ == "__main__": input_filepath = sys.argv[1] output_matfile = 'output.mat' load_and_save(input_filepath, output_matfile) ``` 接着可以在 MATLAB 中执行此 Python 脚本来换文件格式,之后再读入MATLAB环境内进行可视化操作。 MATLAB代码片段展示如何运行上述Python程序以及绘制三维散点图: ```matlab % 设置Python路径以便能够找到自定义模块 !python -m ensurepip --upgrade addpath('full/path/to/python/script/directory'); % 执行Python脚本以将.npy文件存为.mat文件 system(['python read_npy.py ', fullfile(pwd(), 'your_point_cloud_data.npy')]); % 从新生成的.mat文件中加载点云数据 load('output.mat', 'points'); disp(size(points)); % 绘制点云 figure; scatter3(points(:,1), points(:,2), points(:,3)); xlabel('X Axis'); ylabel('Y Axis'); zlabel('Z Axis'); title('Point Cloud Visualization'); grid on; axis equal; ``` 该方法提供了一种间接的方式让MATLAB访问存储于`.npy`中的点云信息,并实现了基本的数据可视化功能[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值