python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹
前言
在進(jìn)行數(shù)據(jù)處理的過程中,經(jīng)常會用到Matlab和python兩種工具,.mat文件是Matlab數(shù)據(jù)存儲的標(biāo)準(zhǔn)數(shù)據(jù)格式,通過創(chuàng)建一個.mat文件詳細(xì)介紹兩種工具之間的數(shù)據(jù)讀取和存儲。
一、python讀取.mat文件
1. 保存Matlab數(shù)據(jù)到指定文件夾
例如:創(chuàng)建一個數(shù)組A,存到指定文件夾下
變量A:
通過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庫,調(diào)用庫里的scipy.io.loadmat()函數(shù)便可讀取數(shù)據(jù),此時讀到的是.mat文件的相關(guān)信息
import scipy.io A = scipy.io.loadmat('C:\\Users\\ASUS\\Desktop\\train\\data.mat')
tips:運(yùn)行程序時可能會出現(xiàn)提示:
提示:import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['E:\\untitled', 'E:/untitled'])
解決方法如下:
點進(jìn)右上角Edit Configuration
Run with Python Console前的√去掉,點擊Apply,點擊OK,解決
運(yùn)行不再報錯
此時已經(jīng)讀取到A.mat文件,讀取到的文件是以字典的形式保存,數(shù)據(jù)以鍵值對的形式保存,
['__header__', '__version__', '__globals__', 'A']為字典的鍵值,其中鍵A用來保存數(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庫,調(diào)用scipy.io.savemat()函數(shù),函數(shù)參數(shù)設(shè)置如下:
scipy.io.savemat(' 保存的文件名.mat ',mdict = {' 鍵值 ':變量})
pycharm定義一個列表變量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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)隨機(jī)漫步的詳細(xì)過程
隨機(jī)漫步顧名思義每一步都是隨機(jī)的,假設(shè)有一個點,下一步往哪里走,走多遠(yuǎn),這些都沒有明確的表示,完全是隨機(jī)的,最后走到哪里,是由一系列隨機(jī)決策決定的,這篇文章主要給大家介紹了關(guān)于Python實現(xiàn)隨機(jī)漫步的相關(guān)資料,需要的朋友可以參考下2023-03-03解決windows下python3使用multiprocessing.Pool出現(xiàn)的問題
這篇文章主要介紹了解決windows下python3使用multiprocessing.Pool出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決
這篇文章主要給大家介紹了關(guān)于Python中循環(huán)后使用list.append()數(shù)據(jù)被覆蓋問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07python的staticmethod與classmethod實現(xiàn)實例代碼
這篇文章主要介紹了python的staticmethod與classmethod實現(xiàn)實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02python使用requests模塊實現(xiàn)爬取電影天堂最新電影信息
這篇文章主要介紹了python使用requests模塊實現(xiàn)爬取電影天堂最新電影信息,本文通過實例代碼給大家介紹了str/list/tuple三者之間怎么相互轉(zhuǎn)換,需要的朋友可以參考下2019-04-04