如何在 Microsoft Fabric 中使用 Pandas 讀取和寫入資料
Microsoft Fabric 筆記本支援使用 Pandas 與 Lakehouse 資料順暢互動,這是用於資料探索和處理的熱門 Python 庫。 在筆記本中,您可以從 Lakehouse 資源中以各種檔案格式快速讀取資料,並將資料寫回其 Lakehouse 資源。 本指南提供程式碼範例,以協助您開始使用自己的筆記本。
必要條件
取得 Microsoft Fabric 訂用帳戶。 或註冊免費的 Microsoft Fabric 試用版。
登入 Microsoft Fabric。
使用首頁左側的體驗切換器,切換至 Synapse 資料科學體驗。
將 Lakehouse 資料載入筆記本
將 Lakehouse 連結至 Microsoft Fabric 筆記本之後,即可探索儲存的資料,而無需離開頁面,並讀取到您的筆記本中,只要幾個步驟即可完成。 選取任何 Lakehouse 檔案會顯示選項,以「載入資料」到 Spark 或 Pandas DataFrame。 您也可以複製檔案的完整 ABFS 路徑,或者易記的相對路徑。
選取其中一個「載入資料」提示會產生程式碼儲存格,以將該檔案載入筆記本中的 DataFrame。
將 Spark DataFrame 轉換為 Pandas DataFrame
如需參考,此命令會展示如何將 Spark DataFrame 轉換成 Pandas DataFrame:
# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas()
讀取和寫入各種檔案格式
注意
修改特定套件的版本可能會中斷相依的其他套件。 例如,降級azure-storage-blob
可能會導致依賴的其他各種連結庫Pandas
發生問題Pandas
,包括mssparkutils
、 fsspec_wrapper
和 notebookutils
。
您可以在這裏檢視預安裝套件的清單及其每個執行時間的版本。
這些程式碼範例會描述 Pandas 作業,以讀取和寫入各種檔案格式。
注意
您必須取代這些程式碼範例中的檔案路徑。 Pandas 支援兩種相對路徑,如下所示,以及完整的 ABFS 路徑。 可以根據上一個步驟,從介面擷取和複製任一類型的路徑。
從 CSV 檔案讀取資料
import pandas as pd
# Read a CSV file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
display(df)
將資料寫入為 CSV 檔案
import pandas as pd
# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
從 Parquet 檔案讀取資料
import pandas as pd
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pandas.read_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet")
display(df)
將資料寫入為 Parquet 檔案
import pandas as pd
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet")
從 Excel 檔案讀取資料
import pandas as pd
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values. Also need to add correct filepath after Files/ if file is placed in different folders
# if using default lakehouse that attached to the notebook use the code to replace below: df = pandas.read_excel("/lakehouse/default/Files/FILENAME.xlsx")
df = pandas.read_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx")
display(df)
將資料寫入為 Excel 檔案
import pandas as pd
# Write a Pandas DataFrame into an Excel file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx")
從 JSON 檔案讀取資料
import pandas as pd
# Read a JSON file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pandas.read_json("/LAKEHOUSE_PATH/Files/FILENAME.json")
display(df)
將資料寫入為 JSON 檔案
import pandas as pd
# Write a Pandas DataFrame into a JSON file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_json("/LAKEHOUSE_PATH/Files/FILENAME.json")