Del via


Slik leser og skriver du data med Pandas i Microsoft Fabric

Microsoft Fabric-notatblokker støtter sømløs interaksjon med Lakehouse-data ved hjelp av Pandas, det mest populære Python-biblioteket for datautforskning og -behandling. I en notatblokk kan du raskt lese data fra og skrive data tilbake til Lakehouse-ressursene dine i ulike filformater. Denne veiledningen inneholder kodeeksempler som hjelper deg med å komme i gang i din egen notatblokk.

Forutsetning

  • Få et Microsoft Fabric-abonnement. Eller registrer deg for en gratis prøveversjon av Microsoft Fabric.

  • Logg på Microsoft Fabric.

  • Bytt til Fabric ved å bruke erfaringsbryteren nederst til venstre på hjemmesiden din.

    Skjermbilde som viser valget av Fabric i menyen for opplevelsesbytter.

  • Fullfør trinnene i Klargjøre systemet for datavitenskapsopplæringer for å opprette en ny notatblokk og knytte et Lakehouse til den. I denne artikkelen følger du fremgangsmåten for å opprette en ny notatblokk i stedet for å importere en eksisterende.

Laste inn Lakehouse-data i en notatblokk

Merk

Du trenger noen data i Lakehouse for å følge trinnene i denne delen. Hvis du ikke har noen data, følger du fremgangsmåten i Last ned datasett og last opp til Lakehouse for å legge til denchurn.csv filen i Lakehouse.

Når du har koblet et Lakehouse til Microsoft Fabric-notatblokken, kan du utforske lagrede data uten å forlate siden og lese dem inn i notatblokken med bare noen få trinn. Hvis du velger en Lakehouse-fil, vises alternativer for å "laste inn data" i en Spark- eller Pandas DataFrame. Du kan også kopiere filens fullstendige ABFS-bane eller en egendefinert relativ bane.

Skjermbilde som viser alternativene for å laste inn data i en Pandas DataFrame.

Hvis du velger en av ledetekstene Last inn data, genereres en kodecelle som laster inn filen i en DataFrame i notatblokken.

Skjermbilde som viser en kodecelle som er lagt til i notatblokken.

Konvertere en Spark DataFrame til en Pandas DataFrame

For referanse viser denne kommandoen hvordan du konverterer en Spark DataFrame til en Pandas DataFrame:

# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas() 

Lese og skrive ulike filformater

Merk

Endring av versjonen av en bestemt pakke kan potensielt bryte andre pakker som avhenger av den. Nedgradering azure-storage-blob kan for eksempel føre til problemer med Pandas og ulike andre biblioteker som er avhengige Pandasav , inkludert mssparkutils, fsspec_wrapperog notebookutils. Du kan vise listen over forhåndsinstallerte pakker og deres versjoner for hver kjøretid her.

Disse kodeeksemplene demonstrerer Pandas-operasjoner for å lese og skrive ulike filformater. Disse eksemplene er ikke ment å kjøres sekvensielt som i en opplæring, men i stedet kopieres og limes inn i din egen notatblokk etter behov.

Merk

Du må erstatte filbanene i disse kodeeksempler. Pandaer støtter både relative baner, som vist her, og fullstendige ABFS-baner. Du kan hente og kopiere baner av begge typene fra grensesnittet ved hjelp av de forrige trinnene.

Lese data fra en CSV-fil

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)

Skrive data som en CSV-fil

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") 

Lese data fra en parkettfil

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 = pd.read_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet") 
display(df)

Skrive data som en parquet-fil

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") 

Lese data fra en Excel-fil

import pandas as pd 
 
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
# If the file is in a subfolder, add the correct file path after Files/
# For the default lakehouse attached to the notebook, use: df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx") 
df = pd.read_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx") 
display(df) 

Skrive data som en Excel-fil

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") 

Lese data fra en JSON-fil

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 = pd.read_json("/LAKEHOUSE_PATH/Files/FILENAME.json") 
display(df) 

Skrive data som en JSON-fil

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") 

Arbeide med Delta-tabeller

Deltatabeller er standard tabellformat i Microsoft Fabric og lagres i Tabeller-delen av Lakehouse. I motsetning til filer krever Delta-tabeller en totrinnsprosess for å fungere med pandaer: les først tabellen til en Spark DataFrame, og konverter den deretter til en pandas DataFrame.

Opprette en Delta-testtabell

Hvis du vil følge fremgangsmåten i denne delen, trenger du en Delta-tabell i Lakehouse. Følg fremgangsmåten i Last ned datasett og last opp til lakehouse for å legge til churn.csv filen i Lakehouse, og opprett deretter en testtabell fra churn.csv-filen ved å kjøre denne koden i notatblokken:

import pandas as pd
# Create a test Delta table from the churn.csv file

df = pd.read_csv("/lakehouse/default/Files/churn/raw/churn.csv")
spark_df = spark.createDataFrame(df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("churn_table")

Dette oppretter en Delta-tabell kalt churn_table som du kan bruke til å teste eksemplene nedenfor.

Lese data fra en Delta-tabell

# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.format("delta").load("Tables/churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

Du kan også lese Delta-tabeller ved hjelp av Spark SQL-syntaks:

# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

Skrive pandas DataFrame til en Delta-tabell

# Convert pandas DataFrame to Spark DataFrame, then save as Delta table
# Replace TABLE_NAME with your desired table name
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

Du kan også lagre til en bestemt bane i Tabeller-delen:

# Save to a specific path in the Tables section
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").save("Tables/TABLE_NAME")

Skrivemoduser for Delta-tabeller

Når du skriver til Delta-tabeller, kan du angi forskjellige moduser:

# Overwrite the entire table
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

# Append new data to existing table
spark_df.write.format("delta").mode("append").saveAsTable("TABLE_NAME")

Merk

Deltatabeller som er opprettet i Tabeller-delen av Lakehouse, kan oppdages uten ytterligere registrerings- eller konfigurasjonstrinn, og kan spørres ved hjelp av Spark SQL. De vises også i Lakehouse-utforskergrensesnittet (du må kanskje oppdatere Lakehouse-utforskeren for å se nylige endringer).