如何在 Microsoft Fabric 中使用 Pandas 读取和写入数据
Microsoft Fabric 笔记本支持使用 Pandas 与 Lakehouse 数据无缝交互,Pandas 是最常用的用于数据浏览和处理的 Python 库。 在笔记本中,你可以采用各种文件格式,快速从 Lakehouse 资源读取数据并写回数据。 本指南提供代码示例来帮助你开始使用自己的笔记本。
先决条件
获取 Microsoft Fabric 订阅。 或者注册免费的 Microsoft Fabric 试用版。
登录 Microsoft Fabric。
使用主页左下侧的体验切换器切换到 Fabric。
将 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")