欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python讀取mat文件中的struct問題

 更新時間:2022年07月15日 08:50:09   作者:獨(dú)孤的大山貓  
這篇文章主要介紹了python讀取mat文件中的struct問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python讀取mat文件中的struct

All devils are in the details,做個筆記。

mat文件結(jié)構(gòu)如下

ground_truth_data 是1x1的struct(結(jié)構(gòu)體),包含2個字段,一個是list,一個是imgszie.如圖1所示

圖1

list是一個352x1的cell,點(diǎn)開后如圖2,可以看到list中的每一個cell又由1x1的strcuct組成.

圖2

點(diǎn)開1x1的struct如圖3:

圖3 

如果我現(xiàn)在想把這352個1x1的struct值(包括imgname和bbox)都用python提出來然后以txt的格式存儲,應(yīng)該怎么做?

經(jīng)過查找資料,總結(jié)如下

1、我使用scipy.io模塊加載時,pycharm控制臺報(bào)錯如下:

這是因?yàn)閟cipy.io只能支持matlab版本小于v7.3版本的mat文件。

換句話說就是,如果你的matlab版本比較舊,保存的mat格式為-v7.3及其以前的版本,可以用scipy.io讀取. 如果是比較新的matlab保存的mat文件,就只能用h5py模塊載入了,并且它支持大文件的存儲和讀取.

解決辦法

改用h5py模塊載入mat并讀取struct值,代碼如下

import h5py
data = h5py.File("D:\\Build_my_net\\tensorflow-vgg-master\\tensorflow-vgg-master\help_others\\train_ground_truth_data.mat")
test = data['ground_truth_data/list']
print(test.shape)  #執(zhí)行完這一行,輸出的是(1,352) ,這里和python中numpy數(shù)組的shape返回的不一
#樣,這里第一個值表示的列,第二個值表示的是行
for i in range(test.shape[1]):   #test.shape[1]的值是352
    for k in data[(test[0][i])].values():
        print(k[:])

如果有字符,記得用chr()函數(shù)轉(zhuǎn)成字符后顯示.

python讀取mat文件報(bào)錯

在用python讀取mat文件時報(bào)了以下錯誤:OSError: Unable to create file

發(fā)現(xiàn)是自己mat文件格式的問題,原來直接在matlab中右鍵另存cell文件,但這種文件python打不開,需要用save函數(shù)保存才行

eg:

.save('Gaitdata.mat', 'originalData', '-v7.3') % v7.3 so that it is readable by h5py

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 詳解python中的異常捕獲

    詳解python中的異常捕獲

    這篇文章主要介紹了python中的異常捕獲的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Numpy中np.dot與np.matmul的區(qū)別詳解

    Numpy中np.dot與np.matmul的區(qū)別詳解

    本文主要介紹了Numpy中np.dot與np.matmul的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python 登錄網(wǎng)站詳解及實(shí)例

    Python 登錄網(wǎng)站詳解及實(shí)例

    這篇文章主要介紹了Python 登錄網(wǎng)站詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • zip在python中的用法小結(jié)

    zip在python中的用法小結(jié)

    Python中的zip函數(shù)是一個非常有用的工具,可以幫助我們同時處理多個可迭代對象,通過使用zip函數(shù),我們可以將多個列表或迭代器中的元素打包成一個個元組,然后返回由這些元組組成的列表,這篇文章介紹zip在python中的用法,感興趣的朋友一起看看吧
    2024-02-02
  • Python3爬蟲學(xué)習(xí)之爬蟲利器Beautiful Soup用法分析

    Python3爬蟲學(xué)習(xí)之爬蟲利器Beautiful Soup用法分析

    這篇文章主要介紹了Python3爬蟲學(xué)習(xí)之爬蟲利器Beautiful Soup用法,結(jié)合實(shí)例形式分析了Beautiful Soup的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • 由Python運(yùn)算π的值深入Python中科學(xué)計(jì)算的實(shí)現(xiàn)

    由Python運(yùn)算π的值深入Python中科學(xué)計(jì)算的實(shí)現(xiàn)

    這篇文章主要介紹了由Python運(yùn)算π的值深入Python中科學(xué)計(jì)算的實(shí)現(xiàn),由簡單的計(jì)算發(fā)散出各種算法的講解,需要的朋友可以參考下
    2015-04-04
  • pandas帶有重復(fù)索引操作方法

    pandas帶有重復(fù)索引操作方法

    今天小編就為大家分享一篇pandas帶有重復(fù)索引操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python?pass函數(shù)使用及其應(yīng)用的詳解

    Python中,pass是一種空語句,即不做任何事情,只起到占位符的作用,本文主要介紹了Python?pass函數(shù)使用及其應(yīng)用的詳解,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 使用GPT-3訓(xùn)練垃圾短信分類器示例詳解

    使用GPT-3訓(xùn)練垃圾短信分類器示例詳解

    這篇文章主要為大家介紹了使用GPT-3訓(xùn)練垃圾短信分類器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Python實(shí)現(xiàn)提取指定名稱的文件并批量復(fù)制到其他文件夾

    Python實(shí)現(xiàn)提取指定名稱的文件并批量復(fù)制到其他文件夾

    本文介紹基于Python語言,讀取一個文件夾,并將其中每一個子文件夾內(nèi)符合名稱要求的文件加以篩選,并將篩選得到的文件復(fù)制到另一個目標(biāo)文件夾中的方法,需要的朋友可以參考下
    2023-10-10

最新評論