PySpark: lea el archivo CSV en DataFrame

En este artículo, veremos cómo leer archivos CSV en Dataframe. Para ello utilizaremos Pyspark y Python.

Archivos utilizados:

Leer archivo CSV en DataFrame

Aquí vamos a leer un solo CSV en un marco de datos usando spark.read.csv y luego crearemos un marco de datos con estos datos usando .toPandas().

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

Producción:

Aquí, pasamos nuestro archivo CSV authors.csv. En segundo lugar, pasamos el delimitador utilizado en el archivo CSV. Aquí el delimitador es la coma ‘, ‘. A continuación, establecemos el atributo inferSchema como True , esto pasará por el archivo CSV y adaptará automáticamente su esquema en PySpark Dataframe. Luego, convertimos PySpark Dataframe a Pandas Dataframe df usando el método toPandas() .

Leer varios archivos CSV

Para leer varios archivos CSV, pasaremos una lista de Python de las rutas de los archivos CSV como tipo de string

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

Producción:

Aquí, importamos author.csv y book_author.csv presentes en el mismo directorio de trabajo actual con un delimitador como coma ‘ , ‘ y la primera fila como encabezado.

Leer todos los archivos CSV en el directorio

Para leer todos los archivos CSV en el directorio, usaremos * para considerar cada archivo en el directorio.

Python3

from pyspark.sql import SparkSession
 
spark = SparkSession.builder.appName(
    'Read All CSV Files in Directory').getOrCreate()
 
file2 = spark.read.csv('/content/*.csv', sep=',',
                    inferSchema=True, header=True)
 
df1 = file2.toPandas()
display(df1.head())
display(df1.tail())

Producción:

Esto leerá todos los archivos CSV presentes en el directorio de trabajo actual, teniendo el delimitador como coma ‘ , ‘ y la primera fila como encabezado.

Publicación traducida automáticamente

Artículo escrito por rahuls66 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *