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.