PySpark – CSV-Datei in DataFrame lesen
In diesem Artikel werden wir sehen, wie man CSV-Dateien in Dataframe einliest. Dazu verwenden wir Pyspark und Python.ala.
Verwendete Dateien:
CSV-Datei in DataFrame einlesen
Hier werden wir eine einzelne CSV-Datei mit spark.read.csv in den Datenrahmen einlesen und dann mit diesen Daten mit .toPandas() einen Datenrahmen erstellen.
Python3
from pyspark.sql import SparkSession spark = SparkSession.builder.appName( 'Read CSV File into DataFrame').getOrCreate() authors = spark.read.csv('/content/authors.csv', sep=',', inferSchema=True, header=True) df = authors.toPandas() df.head()
Ausgabe:
Hier übergeben wir unsere CSV-Datei authors.csv. Zweitens haben wir das in der CSV-Datei verwendete Trennzeichen übergeben. Hier ist das Trennzeichen Komma ', '. Als Nächstes setzen wir das inferSchema- Attribut auf True , dies durchläuft die CSV-Datei und passt ihr Schema automatisch an PySpark Dataframe an. Dann haben wir den PySpark-Datenrahmen mithilfe der Methode toPandas() in Pandas Dataframe df konvertiert .
Lesen Sie mehrere CSV-Dateien
Um mehrere CSV-Dateien zu lesen, übergeben wir eine Python-Liste der Pfade der CSV-Dateien als String- Typ.
Python3
from pyspark.sql import SparkSession spark = SparkSession.builder.appName('Read Multiple CSV Files').getOrCreate() path = ['/content/authors.csv', '/content/book_author.csv'] files = spark.read.csv(path, sep=',', inferSchema=True, header=True) df1 = files.toPandas() display(df1.head()) display(df1.tail())
Ausgabe:
Hier haben wir authors.csv und book_author.csv importiert, die sich im selben aktuellen Arbeitsverzeichnis mit Trennzeichen als Komma ' , ' und der ersten Zeile als Header befinden.
Alle CSV-Dateien im Verzeichnis lesen
Um alle CSV-Dateien im Verzeichnis zu lesen, verwenden wir * , um jede Datei im Verzeichnis zu berücksichtigen.
Python3
from pyspark.sql import SparkSession spark = SparkSession.builder.appName( 'Read All CSV Files in Directory').getOrCreate() f2 = spark.read.csv('/content/*.csv', sep=',', inferSchema=True, header=True) df1 = file2.toPandas() display(df1.head()) display(df1.tail())
Ausgabe:
Dadurch werden alle CSV -Dateien gelesen, die im aktuellen Arbeitsverzeichnis vorhanden sind, mit Trennzeichen als Komma ' , ' und der ersten Zeile als Kopfzeile.