pandas.read_csv
Parametro
Explicación
filepath_or_buffer, *
Se acepta cualquier ruta de cadena válida. La cadena puede ser una URL. Los esquemas de URL válidos incluyen http, ftp, s3, gs y archivo. Para las URL de archivo, se espera un host. Un archivo local podría ser: file://localhost/path/to/table.csv .
Si desea pasar un objeto de ruta, pandas acepta cualquier os.PathLike.
Por objeto tipo archivo, nos referimos a objetos con un read() método, como un identificador de archivo (por ejemplo, a través de openuna función incorporada) o StringIO.
sep=<no_default>
Patrón de carácter o expresión regular que se utilizará como delimitador. Si sep=None, el motor de C no puede detectar automáticamente el separador, pero el motor de análisis de Python sí, lo que significa que se utilizará este último y detectará automáticamente el separador solo de la primera fila válida del archivo mediante la herramienta de rastreo integrada de Python, csv.Sniffer. Además, los separadores de más de un carácter y diferentes de '\s+'se interpretarán como expresiones regulares y también forzarán el uso del motor de análisis de Python. Tenga en cuenta que los delimitadores de expresiones regulares tienden a ignorar los datos entre comillas. Ejemplo de expresión regular: '\r\t'.
delimiter=None
Alias para sep.
header='infer'
Número(s) de fila que contienen las etiquetas de columna y marcan el inicio de los datos (indexado a cero). El comportamiento predeterminado es inferir los nombres de columna: si no names se pasa [número], el comportamiento es idéntico a [ header=0número] y los nombres de columna se infieren de la primera línea del archivo; si los nombres de columna se pasan explícitamente a [ namesnúmero], el comportamiento es idéntico a [número header=None]. Pase explícitamente header=0para poder reemplazar nombres existentes. El encabezado puede ser una lista de enteros que especifican las ubicaciones de fila para [número] MultiIndexen las columnas, por ejemplo, [número]. Las filas intermedias que no se especifiquen se omitirán (por ejemplo, se omite 2 en este ejemplo). Tenga en cuenta que este parámetro ignora las líneas comentadas y vacías si [número] , por lo que denota la primera línea de datos en lugar de la primera línea del archivo.[0, 1, 3]skip_blank_lines=Trueheader=0
Al inferirse del contenido del archivo, los encabezados se mantienen separados entre sí renombrando los nombres duplicados con un sufijo numérico ".{{count}}"que empieza por 1, p. ej. "foo", y "foo.1". Los encabezados vacíos se nombran o se escriben “Sin nombre: {{i}}\_level\_{{level}}” en el caso de columnas MultiIndex."Unnamed: {{i}}"
names=<no_default>
Secuencia de etiquetas de columna que se aplicará. Si el archivo contiene una fila de encabezado, debe pasar explícitamente header=0para sobrescribir los nombres de columna. No se permiten duplicados en esta lista.
index_col=None
Columnas que se usarán como etiquetas de fila, indicadas por etiquetas o índices de columna. Si se proporciona una secuencia de etiquetas o índices, MultiIndex se formará para las etiquetas de fila.
Nota: index_col=Falsese puede utilizar para forzar a los pandas a no utilizar la primera columna como índice, por ejemplo, cuando tienes un archivo mal formado con delimitadores al final de cada línea.
usecols=None
Subconjunto de columnas a seleccionar, indicado por etiquetas o índices. Si es de tipo lista, todos los elementos deben ser posicionales (es decir, índices enteros en las columnas del documento) o cadenas que correspondan a los nombres de columna proporcionados por el usuario nameso inferidos de las filas del encabezado del documento. Si namesse proporcionan, las filas del encabezado del documento no se tienen en cuenta. Por ejemplo, un parámetro válido de tipo lista usecolssería o . El orden de los elementos se ignora, por lo que es igual que . Para instanciar un from con el orden de los elementos conservado, utilice para las columnas en orden o para el orden.[0, 1, 2]['foo', 'bar', 'baz']usecols=[0, 1][1, 0]DataFramedatapd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']]['foo', 'bar']pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]['bar', 'foo']
Si es invocable, la función invocable se evaluará con los nombres de columna, devolviendo los nombres donde la función invocable se evalúa como True. Un ejemplo de un argumento invocable válido sería . Usar este parámetro resulta en un tiempo de análisis mucho más rápido y un menor uso de memoria.lambda x: x.upper() in ['AAA', 'BBB', 'DDD']
dtype=None
Tipo(s) de datos que se aplicarán a todo el conjunto de datos o a columnas individuales. Por ejemplo, utilice o junto con la configuración adecuada para conservar y no interpretar . Si se especifican, se aplicarán en lugar de la conversión. Especifique a como entrada donde el valor predeterminado determina el de las columnas que no se enumeran explícitamente.{{'a': np.float64, 'b': np.int32, 'c': 'Int64'}}strobjectna_valuesdtypeconvertersdtypedefaultdictdtype
engine=None
Motor de análisis a utilizar. Los motores C y Pyarrow son más rápidos, mientras que el motor Python ofrece actualmente más funcionalidades. Actualmente, el multihilo solo es compatible con el motor Pyarrow. Algunas funciones del motor Pyarrow no son compatibles o podrían no funcionar correctamente.
converters=None
Funciones para convertir valores en columnas específicas. Las claves pueden ser etiquetas o índices de columna.
true_values=None
Valores a tener en cuenta True además de las variantes de 'True' que no distinguen entre mayúsculas y minúsculas.
false_values=None
Valores a tener en cuenta False además de las variantes de 'False' que no distinguen entre mayúsculas y minúsculas.
skipinitialspace=False
Omitir espacios después del delimitador.
skiprows=None
Números de línea a omitir (indexado en 0) o número de líneas a omitir ( int) al comienzo del archivo.
Si es invocable, la función invocable se evaluará con los índices de fila, indicando Truesi la fila debe omitirse o False no. Un ejemplo de un argumento invocable válido sería .lambda x: x in [0, 2]
skipfooter=0
Número de líneas al final del archivo que se omitirán (no compatible con engine='c').
nrows=None
Número de filas del archivo a leer. Útil para leer fragmentos de archivos grandes. Se refiere al número de filas de datos en el DataFrame devuelto, excluyendo:
La fila de encabezado que contiene los nombres de las columnas.
Filas antes de la fila de encabezado, si header=1es mayor o igual a 1.
Ejemplo de uso:
Para leer las primeras 999.999 filas (sin encabezado): read_csv(..., nrows=999999)
Para leer las filas 1.000.000 a 1.999.999: read_csv(..., skiprows=1000000, nrows=999999)
na_values=None
Cadenas adicionales opcionales para reconocer como NA/ NaN. Si se pasan, valores dict específicos por columna . Por defecto, los siguientes valores se interpretan como : cadena vacía, "NaN", "N/A", "NULL" y otras representaciones comunes de datos faltantes. NANaN
keep_default_na=True
Si se deben incluir o no los NaNvalores predeterminados al analizar los datos. Dependiendo de si na_values se pasan, el comportamiento es el siguiente:
Si keep_default_na se especifican True y , se agrega a los valores predeterminados utilizados para el análisis.na_valuesna_values NaN
Si no se especifican keep_default_nay True, solo se utilizan los valores predeterminados para el análisis.na_values NaN
Si keep_default_nase especifican False, y , solo se utilizan los valores especificados para el análisis.na_values NaNna_values
Si no keep_default_nase especifican Falsey na_values, no se analizará ninguna cadena como NaN.
Tenga en cuenta que si na_filterse pasa como False, los parámetros keep_default_nay na_valuesse ignorarán.
na_filter=True
Detecta marcadores de valores faltantes (cadenas vacías y el valor de na_values). En datos sin NAvalores, pasar valores na_filter=Falsepuede mejorar el rendimiento al leer archivos grandes.
skip_blank_lines=True
Si es así True, omita las líneas en blanco en lugar de interpretarlas como NaNvalores.
parse_dates=None
El comportamiento es el siguiente:
bool. Si True-> intenta analizar el índice.
NoneSe comporta como Truesi date_formatse especifica.
listde into nombres. p. ej. Si -> intente analizar las columnas 1, 2 y 3 cada una como una columna de fecha separada.[1, 2, 3]
Si una columna o índice no se puede representar como un array de datetime, por ejemplo, debido a un valor no analizable o a una combinación de zonas horarias, se devolverá sin modificaciones como objecttipo de dato. Para un análisis no estándar datetime, utilice to_datetime()después de read_csv().
Nota: Existe una ruta rápida para las fechas con formato iso8601.
date_format=None
Formato para analizar fechas y/u horas cuando se usa junto con parse_dates. El strftime para analizar la hora, p. ej "%d/%m/%Y". . Consulte la documentación de strftime para obtener más información sobre las opciones, aunque tenga en cuenta que "%f"`se analizarán hasta nanosegundos. También puede pasar:
“ISO8601”, para analizar cualquier cadena de tiempo ISO8601 (no necesariamente en exactamente el mismo formato);
"mixto", para inferir el formato de cada elemento individualmente. Esto es arriesgado, por lo que probablemente debería usarse junto con dayfirst .
dayfirst=False
Fechas en formato DD/MM, formato internacional y europeo.
cache_dates=True
Si es así True, use una caché de fechas únicas convertidas para aplicar la datetime conversión. Esto puede generar una aceleración significativa al analizar cadenas de fechas duplicadas, especialmente aquellas con diferencias horarias.
iterator=False
Devuelve TextFileReaderun objeto para iterar o obtener fragmentos con get_chunk().
chunksize=None
Número de líneas que se leen del archivo por fragmento. Al pasar un valor, la función devolverá un TextFileReaderobjeto para la iteración. Consulte la documentación de las herramientas de E/S para obtener más información sobre iteratory chunksize.
compression='infer'
Para la descompresión instantánea de datos en disco. Si 'infer' y 'filepath_or_buffer' son similares a rutas, se detecta la compresión de las siguientes extensiones: '.gz', '.bz2', '.zip', '.xz', '.zst', '.tar', '.tar.gz', '.tar.xz' o '.tar.bz2' (de lo contrario, no se realiza la compresión). Si se usa 'zip' o 'tar', el archivo ZIP debe contener solo un archivo de datos para su lectura. Se establece en Nonepara no realizar la descompresión. También puede ser un diccionario con la clave 'method'establecida en uno de los siguientes valores: { 'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'}, y los demás pares clave-valor se reenvían a zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, o zstandard.ZstdDecompressor, respectivamente. Por ejemplo, se podría pasar lo siguiente para la descompresión Zstandard utilizando un diccionario de compresión personalizado: .lzma.LZMAFiletarfile.TarFilecompression={'method': 'zstd', 'dict_data': my_compression_dict}
thousands=None
Carácter que actúa como separador de miles en valores numéricos.
decimal='.'
Carácter a reconocer como punto decimal (por ejemplo, utilice "," para datos europeos).
lineterminator=None
Carácter utilizado para indicar un salto de línea. Válido únicamente con el analizador C.
quotechar='"'
Carácter utilizado para indicar el inicio y el final de un elemento citado. Los elementos citados pueden incluir el carácter "<sub>" delimitery se ignorarán.
quoting=0
2 o csv.QUOTE_NONNUMERIC, 3 o csv.QUOTE_NONE}}, predeterminado: csv.QUOTE_MINIMAL. Controla el comportamiento de comillas de campos por csv.QUOTE_*constante. El valor predeterminado es csv.QUOTE_MINIMAL0, lo que implica que solo se comillas en los campos que contienen caracteres especiales (p. ej., caracteres definidos en [nombre del campo], [nombre del campo] quotecharo delimiter[nombre del campo lineterminator].
doublequote=True
Cuando quotecharse especifica y quotingno se especifica QUOTE_NONE, indica si se deben interpretar o no dos quotecharelementos consecutivos DENTRO de un campo como un solo quotecharelemento.
escapechar=None
Personaje utilizado para escapar de otros personajes.
comment=None
Carácter que indica que el resto de la línea no debe analizarse. Si se encuentra al principio de una línea, esta se ignorará por completo. Este parámetro debe ser un solo carácter. Al igual que las líneas vacías (siempre que skip_blank_lines=True), las líneas comentadas son ignoradas por el parámetro, headerpero no por skiprows. Por ejemplo, si comment='#', al analizar #empty\na,b,c\n1,2,3con , header=0se tratará 'a,b,c'como encabezado.
encoding=None
Codificación para usar con UTF al leer/escribir (ej. 'utf-8'). Lista de codificaciones estándar de Python .
encoding_errors='strict'
Cómo se tratan los errores de codificación. Lista de valores posibles .
dialect=None
Si se proporciona, este parámetro sobrescribirá los valores (predeterminados o no) de los siguientes parámetros: delimiter, doublequote, escapechar, skipinitialspace, quotechary quoting. Si es necesario sobrescribir valores, ParserWarningse emitirá un . Consulte csv.Dialect la documentación para obtener más detalles.
on_bad_lines='error'
Especifica qué hacer al encontrar una línea incorrecta (una línea con demasiados campos). Los valores permitidos son:
'error', genera una excepción cuando se encuentra una línea incorrecta.
'warn', genera una advertencia cuando se encuentra una línea incorrecta y omite esa línea.
'skip', omite líneas incorrectas sin alertar ni advertir cuando se encuentran.
Función invocable que procesará una sola línea incorrecta.
Con engine='python', la función con la firma . es una lista de cadenas divididas por . Si la función devuelve , la línea incorrecta se ignorará. Si la función devuelve un nuevo conjunto de cadenas con más elementos de los esperados, se emitirá un al eliminar los elementos adicionales.(bad_line: list[str]) -> list[str] | Nonebad_linesepNonelistParserWarning
Con engine='pyarrow', función con firma como se describe en la documentación de pyarrow: invalid_row_handler .
low_memory=True
Procesar internamente el archivo en fragmentos, lo que resulta en un menor uso de memoria durante el análisis, pero posiblemente una inferencia de tipos mixtos. Para garantizar que no haya tipos mixtos False, establezca o especifique el tipo con el dtypeparámetro ``. Tenga en cuenta que todo el archivo se lee en un solo DataFrame fragmento; utilice el parámetro chunksize iterator para devolver los datos en fragmentos. (Solo válido con el analizador de C).
memory_map=False
Si se proporciona una ruta de archivo para filepath_or_buffer, se asigna el objeto de archivo directamente a la memoria y se accede a los datos directamente desde allí. Usar esta opción puede mejorar el rendimiento, ya que se elimina la sobrecarga de E/S.
float_precision=None
Especifica qué convertidor debe usar el motor de C para valores de punto flotante. Las opciones son Noneo 'high'para el convertidor normal, 'legacy'para el convertidor original de Pandas de menor precisión y 'round_trip'para el convertidor de ida y vuelta.
storage_options=None
Opciones adicionales relevantes para una conexión de almacenamiento específica, como host, puerto, nombre de usuario, contraseña, etc. Para las URL HTTP(S), los pares clave-valor se reenvían a urllib.request.Requestcomo opciones de encabezado. Para otras URL (por ejemplo, las que empiezan por "s3://" y "gcs://"), los pares clave-valor se reenvían a fsspec.open. Consulte fsspecy urllibpara obtener más detalles y ejemplos sobre opciones de almacenamiento, consulte aquí .
dtype_backend=<no_default>
Tipo de dato de back-end aplicado al resultado DataFrame (aún experimental). Si no se especifica, el comportamiento predeterminado es no usar tipos de datos que acepten valores NULL. Si se especifica, el comportamiento es el siguiente:
"numpy_nullable": devuelve un tipo d respaldado por valores nullableDataFrame
"pyarrow": devuelve un valor nulo respaldado por pyarrowArrowDtype DataFrame
Returns:
DataFrame or TextFileReader
A comma-separated values (csv) file is returned as two-dimensional data structure with labeled axes.
Se devuelve un archivo de valores separados por comas (csv) como una estructura de datos bidimensional con ejes etiquetados.