python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹
前言
在進(jìn)行數(shù)據(jù)處理的過(guò)程中,經(jīng)常會(huì)用到Matlab和python兩種工具,.mat文件是Matlab數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)數(shù)據(jù)格式,通過(guò)創(chuàng)建一個(gè).mat文件詳細(xì)介紹兩種工具之間的數(shù)據(jù)讀取和存儲(chǔ)。
一、python讀取.mat文件
1. 保存Matlab數(shù)據(jù)到指定文件夾
例如:創(chuàng)建一個(gè)數(shù)組A,存到指定文件夾下

變量A:

通過(guò)save將變量A進(jìn)行保存:
save('具體路徑','變量名'); % 將變量保存到指定文件夾下
save('C:\Users\ASUS\Desktop\train\data.mat','A');

save('變量名'); % 將變量保存到默認(rèn)文件夾下,即與該matlab在同一文件夾下
save('A');

2. pycharm讀取.mat數(shù)據(jù)
pycharm讀取.mat文件代碼主要是要導(dǎo)入scipy.io庫(kù),調(diào)用庫(kù)里的scipy.io.loadmat()函數(shù)便可讀取數(shù)據(jù),此時(shí)讀到的是.mat文件的相關(guān)信息
import scipy.io
A = scipy.io.loadmat('C:\\Users\\ASUS\\Desktop\\train\\data.mat')tips:運(yùn)行程序時(shí)可能會(huì)出現(xiàn)提示:
提示:import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['E:\\untitled', 'E:/untitled'])

解決方法如下:
點(diǎn)進(jìn)右上角Edit Configuration

Run with Python Console前的√去掉,點(diǎn)擊Apply,點(diǎn)擊OK,解決

運(yùn)行不再報(bào)錯(cuò)

此時(shí)已經(jīng)讀取到A.mat文件,讀取到的文件是以字典的形式保存,數(shù)據(jù)以鍵值對(duì)的形式保存,
['__header__', '__version__', '__globals__', 'A']為字典的鍵值,其中鍵A用來(lái)保存數(shù)據(jù)。

想要提取A.mat文件里的數(shù)值[1,2,3]的話需要執(zhí)行以下操作:
data = A[ '鍵值' ]
執(zhí)行data = A[ 'A' ]完成python讀取.mat數(shù)據(jù),數(shù)據(jù)保存在data變量里。

二、python將變量存為.mat文件
導(dǎo)入scipy.io庫(kù),調(diào)用scipy.io.savemat()函數(shù),函數(shù)參數(shù)設(shè)置如下:
scipy.io.savemat(' 保存的文件名.mat ',mdict = {' 鍵值 ':變量})
pycharm定義一個(gè)列表變量B= [1,2,3];
# python 代碼
import scipy.io
B = [1,2,3]
print(type(B))
scipy.io.savemat('data.mat',mdict = {'C':B})
文件保存在與python文件相同路徑下,我這里的py文件路徑為D:\test2

在matlab中導(dǎo)入,數(shù)據(jù)加載完成,matlab工作區(qū)中的C就是python scipy.io.savemat()函數(shù)里的鍵值。

總結(jié)
到此這篇關(guān)于python讀取.mat文件及將變量存為.mat文件的文章就介紹到這了,更多相關(guān)python讀取.mat文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Django 開發(fā)環(huán)境配置過(guò)程詳解
這篇文章主要介紹了Django 開發(fā)環(huán)境配置過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
Python實(shí)現(xiàn)隨機(jī)漫步的詳細(xì)過(guò)程
隨機(jī)漫步顧名思義每一步都是隨機(jī)的,假設(shè)有一個(gè)點(diǎn),下一步往哪里走,走多遠(yuǎn),這些都沒有明確的表示,完全是隨機(jī)的,最后走到哪里,是由一系列隨機(jī)決策決定的,這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)隨機(jī)漫步的相關(guān)資料,需要的朋友可以參考下2023-03-03
解決windows下python3使用multiprocessing.Pool出現(xiàn)的問(wèn)題
這篇文章主要介紹了解決windows下python3使用multiprocessing.Pool出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問(wèn)題的解決
這篇文章主要給大家介紹了關(guān)于Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
python的staticmethod與classmethod實(shí)現(xiàn)實(shí)例代碼
這篇文章主要介紹了python的staticmethod與classmethod實(shí)現(xiàn)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息
這篇文章主要介紹了python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息,本文通過(guò)實(shí)例代碼給大家介紹了str/list/tuple三者之間怎么相互轉(zhuǎn)換,需要的朋友可以參考下2019-04-04
對(duì)python實(shí)時(shí)得到鼠標(biāo)位置的示例講解
今天小編就為大家分享一篇對(duì)python實(shí)時(shí)得到鼠標(biāo)位置的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

