Python读取mat数据集文件转换为csv格式

先上代码:

import pandas as pd
from scipy.io import loadmat

# 读取 .mat 文件
file_path = 'file.mat'  # 替换为您的文件路径
data = loadmat(file_path)

# 提取数据
X = data['X']  # 确保使用正确的变量名
y = data['y']

# 创建 DataFrame
df_X = pd.DataFrame(X)
df_y = pd.DataFrame(y)

# 合并 X 和 y(假设 y 是目标变量)
df = pd.concat([df_X, df_y], axis=1)

# 保存为 CSV 文件
csv_file_path = 'file.csv'  # 替换为您想要的输出文件名
df.to_csv(csv_file_path, index=False)

说明

.mat类型的文件好像有 7.3 和 7.0 两种(或更多)?可以先看一下自己的是什么类型,7.3的用h5py那个包,7.0的用scipy,下面是检查文件是不是 7.3 格式的代码,不是的话可以用上面那段代码。

import h5py

file_path = 'your_file.mat'  # 替换为您的文件路径

try:
    with h5py.File(file_path, 'r') as f:
        print("该文件是 v7.3 格式的 HDF5 文件。")
except OSError:
    print("该文件不是 v7.3 格式的 HDF5 文件,可能是 v7.0 格式或其他格式。")

另外,我使用的文件里面的数据是分 x 和 y 的,不分的我没试过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值