簡體   English   中英

使用 pandas 從谷歌雲存儲讀取 hdf 文件

[英]read hdf file from google cloud storage using pandas

問候編碼員和谷歌雲開發人員和專業人士。 我正在嘗試使用 pandas 提供的內置方法“pd.read_hdf()”從谷歌雲存儲中讀取 hdf 文件列表,其中文件名是這樣的(“client1.h”)。 我的問題是我總是得到這個錯誤:

NotImplementedError: Support for generic buffers has not been implemented.

在不同的論壇和網站深入搜索后,我意識到許多人遇到了同樣的問題,但沒有提供解決方案。

我使用的代碼如下:

from google.cloud.storage import blob, bucket
import pandas as pd
from google.cloud import storage

storage_client = storage.Client.from_service_account_json('file___.json') 

bucket = storage_client.get_bucket('my_bucket_name')

blob = bucket.blob("data1.h")

df = pd.read_hdf(blob, mode='r+')

print(df)

我也嘗試了下面的代碼,我得到了同樣的錯誤:

 blob = bucket.blob("data1.h")
 data = download_as_string() #as_bytes as_text
 df = pd.read_hdf(io.BytesIO(data), mode='r+')

當我將文件下載到我的本地環境並使用它的路徑讀取它時,它運行良好並且沒有問題,但不幸的是,在雲存儲中我有大量文件,所以我無法下載所有文件來使用。

,.! 請 !! 任何人有解決方案或建議,我請他分享。

該功能似乎尚未實現。

正如您所提到的,首先將文件下載到本地文件系統將讓您使用read_hdf() 這是一個可行的解決方法。

要使read_hdf()工作,需要傳遞os.path.exists(path_or_buf)將導致 True 的字符串。 您可能希望幫助 pandas 開發人員實現該功能。 如果是這種情況, 請在此處查看當前實現

您正在通過的問題已經在 pandas GitHub 存儲庫的問題部分中打開,但是用戶只提到問題發生在 S3 中的數據上(請參閱此處)。 您可能想在該問題中分享您的問題或打開一個新問題。 要打開新問題,請在此處 go

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM