[英]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.