如何在 Microsoft Fabric 中使用 Pandas 读取和写入数据

Microsoft Fabric 笔记本支持使用 Pandas 与 Lakehouse 数据无缝交互,Pandas 是最常用的用于数据浏览和处理的 Python 库。 在笔记本中,你可以采用各种文件格式,快速从 Lakehouse 资源读取数据并写回数据。 本指南提供代码示例来帮助你开始使用自己的笔记本。

先决条件

将 Lakehouse 数据加载到笔记本中

将 Lakehouse 附加到 Microsoft Fabric 笔记本后,无需离开页面,即可浏览存储的数据,并将数据读入笔记本,所有操作只需几个步骤。 选择任何 Lakehouse 文件都会显示“将数据加载到”Spark 或 Pandas DataFrame 的选项。 还可以复制文件的完整 ABFS 路径或友好的相对路径。

屏幕截图显示了将数据加载到 Pandas DataFrame 的选项。

选择其中一个“加载数据”提示将生成一个代码单元,用于将该文件加载到笔记本中的 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 可能会导致依赖 PandasPandas 和其他各种库出现问题,包括 mssparkutilsfsspec_wrappernotebookutils。 可以在此处查看每个运行时的预安装包及其版本列表。

这些代码示例描述了用于读取和写入各种文件格式的 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")