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