簡體   English   中英

如何在數據塊中使用 pyreadstat read_xport function 讀取掛載文件

[英]how to read mount files with pyreadstat read_xport function in databricks

將 xpt 文件從 Azure 存儲掛載到 Databricks DBFS 路徑。 即使 test.xpt 文件存在於安裝路徑文件夾中,pyreadstat read_xport 也會出現以下錯誤。

誰能告訴我如何使用/不使用 pyreadstat read_xport function 訪問 .xpt 文件。

謝謝你的時間。


df_xpt, xpt_meta = pyreadstat.read_xport(mount_file_path)

PyreadstatError: File /dbfs/mnt/test.xpt does not exist! ```



我試圖在我的環境中重現相同的結果並得到以下結果

我創建了一個示例數據框,並使用寫入操作將相同的 Dataframe df保存到/dbfs/demo.xpt位置。

確保安裝pyreadstat ,您可以使用此命令安裝pyreadstat package: pip install pyreadstat

import pandas as pd
import pyreadstat

df = pd.DataFrame([[1,2.0,"A"],[3,4.0,"B"]], columns=["k1", "k2", "k3"]
column_labels = ["Var 1", "Var 2", "Var 3"]
pyreadstat.write_xport(df, "/dbfs/demo.xpt", file_label="test", column_labels=column_labels)

使用以下命令成功訪問.XPT 文件:

import pyreadstat

df, meta = pyreadstat.read_xport('/dbfs/demo.xpt', metadataonly=True)

現在你可以檢查,

在此處輸入圖像描述

更新:

如果你想從Azure 存儲復制xpt文件到dbfs ,請按照下面的代碼:

#Set Blob storage configuration
spark.conf.set("fs.azure.account.key.vamblob.blob.core.windows.net","<access_key>")

#使用此命令將xpt文件從Azure存儲復制到dbfs

dbutils.fs.cp("wasbs://pool@vamblob.blob.core.windows.net/<file_name>.xpt","dbfs:/<your_file_name>")

在此處輸入圖像描述

暫無
暫無

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

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