在python中快速讀取hdf,怎樣用python讀取文件

本文目錄一覽:

PYTHON 讀取HDF格式數據出錯?

加一句在最前面看輸出什麼

import os

print(os.path.isfile(“D:/data/04modis/MCD15A2H.A2002185.h00v08.006.2015149102758.hdf”))

Python讀取文件內容的方法有幾種

python讀取文本文件內容的方法主要有三種:read()、readline()、readlines()。

第一種:read()

read()是最簡單的一種方法,一次性讀取文件的所有內容放在一個大字符串中,即內存中。

read()的好處:方便、簡單,一次性讀出文件放在一個大字符串中,速度最快。

read()的壞處:文件過大的時候,佔用內存會過大。

第二種:readline()

readline()逐行讀取文本,結果是一個list。

readline()的好處:佔用內存小,逐行讀取。

readline()的壞處:逐行讀取,速度比較慢。

第三種:readlines()

readlines()一次性讀取文本的所有內容,結果是一個list。

readlines()的好處:一次性讀取文本內容,速度比較快。

readlines()的壞處:隨着文本的增大,佔用內存會越來越多。

如何用numpy提取HDF5數據

我覺得你盡量分解開來:

1 hdf5文件的讀取,這個當然是用python的hdf庫比如ls說的h5py ,讀成你需要的格式或類型,比如numpy的矩陣類型;

2 從numpy的角度考慮將矩陣數據繪製出圖!

大家好,我想用python代碼批量打開一個文件夾中的所有HDF文件,然後進行處理。

很明顯,你這裡的錯誤:

pyhdf.error.HDF4Error: SD: no such file

是和pyhdf,這個python第三方的庫有關係。

即,除非:

某人非常熟悉pyhdf這個庫

有人就是pyhdf的開發者

否則,都很難找到根本的原因和解決辦法啊。

所以,我是沒辦法幫你。

除非:

有你的完整的代碼,有你的所有的對應的HDF文件,

並且模擬你的環境,花時間去調試你這些代碼,

然後,或許,能解決你的問題。。。。。。。。

python如何讀取文件的內容

# _*_ coding: utf-8 _*_

import pandas as pd

# 獲取文件的內容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 將一行內容變成數組

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(‘]’)

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__(‘[‘)):

index = contends_arr[i].rfind(‘[‘)

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__(‘”‘):

contends_arr_new.append(temp_str.replace(‘”‘, ”))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == ‘__main__’:

path = ‘event.txt’

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(‘,’))

df = pd.DataFrame(contents, columns=[‘shelf_code’, ‘robotid’, ‘event’, ‘time’])

擴展資料:

python控制語句

1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。

2、for語句,遍歷列表、字符串、字典、集合等迭代器,依次處理迭代器中的每個元素。

3、while語句,當條件為真時,循環運行語句塊。

4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。

5、class語句,用於定義類型。

6、def語句,用於定義函數和類型的方法。

python 讀取大文件數據怎麼快速讀取

python中讀取數據的時候有幾種方法,無非是read,readline,readlings和xreadlines幾種方法,在幾種方法中,read和xreadlines可以作為迭代器使用,從而在讀取大數據的時候比較有效果.

在測試中,先創建一個大文件,大概1GB左右,使用的程序如下:

[python] view plaincopyprint?

import os.path

import time

while os.path.getsize(‘messages’) 1000000000:

f = open(‘messages’,’a’)

f.write(‘this is a file/n’)

f.close()

print ‘file create complted’

在這裡使用循環判斷文件的大小,如果大小在1GB左右,那麼結束創建文件。–需要花費好幾分鐘的時間。

測試代碼如下:

[python] view plaincopyprint?

#22s

start_time = time.time()

f = open(‘messages’,’r’)

for i in f:

end_time = time.time()

print end_time – start_time

break

f.close()

#22s

start_time = time.time()

f = open(‘messages’,’r’)

for i in f.xreadlines():

end_time = time.time()

print end_time – start_time

break

f.close()

start_time = time.time()

f = open(‘messages’,’r’)

k= f.readlines()

f.close()

end_time = time.time()

print end_time – start_time

使用迭代器的時候,兩者的時間是差不多的,內存消耗也不是很多,使用的時間大概在22秒作用

在使用完全讀取文件的時候,使用的時間在40s,並且內存消耗相當嚴重,大概使用了1G的內存。。

其實,在使用跌倒器的時候,如果進行連續操作,進行print或者其他的操作,內存消耗還是不可避免的,但是內存在那個時候是可以釋放的,從而使用迭代器可以節省內存,主要是可以釋放。

而在使用直接讀取所有數據的時候,數據會保留在內存中,是無法釋放這個內存的,從而內存卡死也是有可能的。

在使用的時候,最好是直接使用for i in f的方式來使用,在讀取的時候,f本身就是一個迭代器,其實也就是f.read方法

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246289.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:14
下一篇 2024-12-12 13:14

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論