Pandas lee CSV en Python

Los archivos CSV son archivos separados por comas. Para acceder a los datos del archivo CSV, necesitamos una función read_csv() de Pandas que recupere datos en forma de marco de datos.

Sintaxis de read_csv()

Aquí está el Los pandas leen CSV sintaxis con sus parámetros.

Sintaxis: pd.read_csv (filepath_or_buffer, sep=’,’, header=’infer’, index_col=Ninguno, usecols=Ninguno, motor=Ninguno, skiprows=Ninguno, nrows=Ninguno)

Parámetros:

  • ruta_archivo_o_búfer : Ubicación del archivo csv. Acepta cualquier ruta de cadena o URL del archivo.
  • sep : Significa separador, el valor predeterminado es ','.
  • encabezamiento : Acepta int, una lista de int, números de fila para usar como nombres de columna y el inicio de los datos. Si no se pasan nombres, es decir, encabezado = Ninguno, mostrará la primera columna como 0, la segunda como 1, y así sucesivamente.
  • usocols : recupera solo las columnas seleccionadas del archivo CSV.
  • filas : Número de filas que se mostrarán del conjunto de datos.
  • col_índice : Si es Ninguno, no se muestran números de índice junto con los registros.
  • salta : omite las filas pasadas en el nuevo marco de datos.

Leer archivo CSV usando Pandas read_csv

Antes de utilizar esta función, debemos importar el pandas biblioteca, cargaremos el archivo CSV usando Pandas.

PYTHON3




# Import pandas> import> pandas as pd> # reading csv file> df> => pd.read_csv(> 'people.csv'> )> print> (df.head())>

Producción:

 First Name Last Name Sex Email Date of birth Job Title  0 Shelby Terrell Male [email protected] 1945-10-26 Games developer  1 Phillip Summers Female [email protected] 1910-03-24 Phytotherapist  2 Kristine Travis Male [email protected] 1992-07-02 Homeopath  3 Yesenia Martinez Male [email protected] 2017-08-03 Market researcher 4 Lori Todd Male [email protected] 1938-12-01 Veterinary surgeon 

Usando sep en read_csv()

En este ejemplo, tomaremos un archivo CSV y luego agregaremos algunos caracteres especiales para ver cómo sep El parámetro funciona.

Python3




# sample = 'totalbill_tip, sex:smoker, day_time, size> # 16.99, 1.01:Female|No, Sun, Dinner, 2> # 10.34, 1.66, Male, No|Sun:Dinner, 3> # 21.01:3.5_Male, No:Sun, Dinner, 3> #23.68, 3.31, Male|No, Sun_Dinner, 2> # 24.59:3.61, Female_No, Sun, Dinner, 4> # 25.29, 4.71|Male, No:Sun, Dinner, 4'> # Importing pandas library> import> pandas as pd> # Load the data of csv> df> => pd.read_csv(> 'sample.csv'> ,> > sep> => '[:, |_]'> ,> > engine> => 'python'> )> # Print the Dataframe> print> (df)>

Producción:

 totalbill tip Unnamed: 2 sex smoker Unnamed: 5 day time Unnamed: 8 size  16.99 NaN 1.01 Female No NaN Sun NaN Dinner NaN 2 10.34 NaN 1.66 NaN Male NaN No Sun Dinner NaN 3 21.01 3.50 Male NaN No Sun NaN Dinner NaN 3.0 None 23.68 NaN 3.31 NaN Male No NaN Sun Dinner NaN 2 24.59 3.61 NaN Female No NaN Sun NaN Dinner NaN 2 25.29 NaN 4.71 Male NaN No Sun NaN Dinner NaN 4 

Usando usecols en read_csv()

Aquí, especificamos solo 3 columnas, es decir, [Nombre, Sexo, Correo electrónico] para cargar y usamos el encabezado 0 como encabezado predeterminado.

Python3




df> => pd.read_csv(> 'people.csv'> ,> > header> => 0> ,> > usecols> => [> 'First Name'> ,> 'Sex'> ,> 'Email'> ])> # printing dataframe> print> (df.head())>

Producción:

 First Name Sex Email 0 Shelby Male [email protected] 1 Phillip Female [email protected] 2 Kristine Male [email protected] 3 Yesenia Male [email protected] 4 Lori Male [email protected] 

Usando index_col en read_csv()

Aquí utilizamos el Sexo primero el índice y luego el Título profesional index, simplemente podemos reindexar el encabezado con col_índice parámetro.

Python3




df> => pd.read_csv(> 'people.csv'> ,> > header> => 0> ,> > index_col> => [> 'Sex'> ,> 'Job Title'> ],> > usecols> => [> 'Sex'> ,> 'Job Title'> ,> 'Email'> ])> print> (df.head())>

Producción:

 Email Sex Job Title  Male Games developer [email protected] Female Phytotherapist [email protected] Male Homeopath [email protected]  Market researcher [email protected]  Veterinary surgeon [email protected] 

Usando nrows en read_csv()

Aquí, solo mostramos solo 5 filas usando parámetro de filas .

Python3




df> => pd.read_csv(> 'people.csv'> ,> > header> => 0> ,> > index_col> => [> 'Sex'> ,> 'Job Title'> ],> > usecols> => [> 'Sex'> ,> 'Job Title'> ,> 'Email'> ],> > nrows> => 3> )> print> (df)>

Producción:

 Email Sex Job Title  Male Games developer [email protected] Female Phytotherapist [email protected] Male Homeopath [email protected] 

Usando skiprows en read_csv()

El salta ayude a omitir algunas filas en CSV, es decir, aquí observará que las filas mencionadas en skiprows se omitieron del conjunto de datos original.

Python3




df> => pd.read_csv(> 'people.csv'> )> print> (> 'Previous Dataset: '> )> print> (df)> # using skiprows> df> => pd.read_csv(> 'people.csv'> , skiprows> => [> 1> ,> 5> ])> print> (> 'Dataset After skipping rows: '> )> print> (df)>

Producción:

Previous Dataset:  First Name Last Name Sex Email Date of birth Job Title  0 Shelby Terrell Male [email protected] 1945-10-26 Games developer 1 Phillip Summers Female [email protected] 1910-03-24 Phytotherapist  2 Kristine Travis Male [email protected] 1992-07-02 Homeopath  3 Yesenia Martinez Male [email protected] 2017-08-03 Market researcher 4 Lori Todd Male [email protected] 1938-12-01 Veterinary surgeon  5 Erin Day Male [email protected] 2015-10-28 Management officer  6 Katherine Buck Female [email protected] 1989-01-22 Analyst 7 Ricardo Hinton Male [email protected] 1924-03-26 Hydrogeologist  Dataset After skipping rows:   First Name Last Name Sex Email Date of birth Job Title  0 Shelby Terrell Male [email protected] 1945-10-26 Games developer 1 Kristine Travis Male [email protected] 1992-07-02 Homeopath  2 Yesenia Martinez Male [email protected] 2017-08-03 Market researcher 3 Lori Todd Male [email protected] 1938-12-01 Veterinary surgeon  4 Katherine Buck Female [email protected] 1989-01-22 Analyst 5 Ricardo Hinton Male [email protected] 1924-03-26 Hydrogeologist