python使用pandas從minio讀取excel文件方式
更新時間:2024年11月21日 09:45:00 作者:胡八一、
從MinIO讀取Excel文件并使用Pandas處理的步驟:首先使用MinIOPythonSDK下載文件,然后使用Pandas讀取,總結(jié):安裝依賴需使用Pandas和MinIOPythonSDK
安裝依賴
要使用Pandas從MinIO讀取Excel文件,你需要先使用MinIO Python SDK從MinIO存儲桶中下載文件,然后使用Pandas讀取該文件。
安裝必要的庫:
pip install pandas minio -i https://pypi.tuna.tsinghua.edu.cn/simple
python 3 的方式
import pandas as pd from minio import Minio from io import BytesIO # MinIO 連接配置 # MinIO 連接配置 minio_client = Minio( "localhost:9000", # MinIO服務(wù)器地址 access_key="admin", # 訪問密鑰 secret_key="admin", # 秘鑰 secure=False # 如果是https連接,設(shè)為True ) bucket_name = "test-read" # 存儲桶名稱 file_path = "測試/test.xlsx" # 文件在 MinIO 中的路徑 def read_csv_from_minio(minio_client,bucket_name, file_path): """ 從 MinIO 中讀取 CSV 文件并加載到 pandas DataFrame :param bucket_name: 存儲桶名稱 :param file_path: MinIO 中的文件路徑 :return: pandas DataFrame """ try: # 從 MinIO 下載文件內(nèi)容 response = minio_client.get_object(bucket_name, file_path) # 使用 BytesIO 包裝文件內(nèi)容,以便 pandas 讀取 # binary_data = response.read() # 將數(shù)據(jù)讀取為字節(jié) df = pd.read_excel(BytesIO(response.data), sheet_name=1) return df except Exception as e: print(f"讀取文件失敗,錯誤信息: {e}") return None # 調(diào)用函數(shù)并查看數(shù)據(jù)框 df = read_csv_from_minio(bucket_name, file_path) if df is not None: print(df.head())
python 2 的方式
import pandas as pd from minio import Minio from StringIO import StringIO # MinIO 連接配置 # MinIO 連接配置 minio_client = Minio( "localhost:9000", # MinIO服務(wù)器地址 access_key="admin", # 訪問密鑰 secret_key="admin", # 秘鑰 secure=False # 如果是https連接,設(shè)為True ) bucket_name = "test-read" # 存儲桶名稱 file_path = "測試/test.xlsx" # 文件在 MinIO 中的路徑 def read_csv_from_minio(minio_client,bucket_name, file_path): """ 從 MinIO 中讀取 CSV 文件并加載到 pandas DataFrame :param bucket_name: 存儲桶名稱 :param file_path: MinIO 中的文件路徑 :return: pandas DataFrame """ try: # 從 MinIO 下載文件內(nèi)容 response = minio_client.get_object(bucket_name, file_path) # 使用 BytesIO 包裝文件內(nèi)容,以便 pandas 讀取 # binary_data = response.read() # 將數(shù)據(jù)讀取為字節(jié) df = pd.read_excel(StringIO(response.data), sheet_name=1) return df except Exception as e: print(f"讀取文件失敗,錯誤信息: {e}") return None # 調(diào)用函數(shù)并查看數(shù)據(jù)框 df = read_csv_from_minio(bucket_name, file_path) if df is not None: print(df.head())
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python生成器,可迭代對象,迭代器區(qū)別和聯(lián)系
這篇文章主要介紹了python生成器,可迭代對象,迭代器區(qū)別和聯(lián)系,通過對比用法讓大家更加深入理解相關(guān)知識,需要的朋友參考學(xué)習(xí)下吧。2018-02-02如何讓PyQt5中QWebEngineView與JavaScript交互
這篇文章主要介紹了如何讓PyQt5中QWebEngineView與JavaScript交互,幫助大家更好的理解和學(xué)習(xí)PyQt5框架,感興趣的朋友可以了解下2020-10-10使用python把json文件轉(zhuǎn)換為csv文件
這篇文章主要介紹了使用python把json文件轉(zhuǎn)換為csv文件,幫助大家更好的利用python處理數(shù)據(jù),感興趣的朋友可以了解下2021-03-03如何利用python將Xmind用例轉(zhuǎn)為Excel用例
這篇文章主要介紹了如何利用python將Xmind用例轉(zhuǎn)為Excel用例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06