Convertir CSV a Parquet

Aquí puedes convertir CSV a Parquet gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Sin pérdida No se pierde nada. Parquet contiene exactamente lo que contenía CSV.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

Un CSV no sabe nada sobre sí mismo

Todo lo que un CSV conoce de su propio contenido es una fila de cabecera, y una fila de cabecera es una lista de nombres. No puede decir que importe sea un decimal, que activo sea un booleano o que nif no se debe tratar nunca como aritmética. Cada herramienta que lo abre lo deduce otra vez, y cada una lo deduce un poco distinto, que es por lo que el mismo extracto carga de tres maneras en tres sitios.

Un Parquet lleva el esquema dentro del propio archivo. Quien lo consulte puede saber los nombres y los tipos de las columnas sin leer una sola fila, y no tiene que adivinar nada al cargarlo. Esa es la diferencia estructural entre los dos formatos, y es lo que hace que un Parquet sea razonable entregárselo a alguien que no estaba delante cuando se escribió.

Punto y coma, coma decimal, y por qué eso decide el resultado

Un CSV exportado desde un Excel configurado en español no usa la coma para separar campos: usa el punto y coma, precisamente porque la coma está ocupada haciendo de separador decimal. Es la razón por la que tantos archivos que aquí llamamos «CSV» no tienen ni una coma de separación en toda la fila.

El separador lo detecta el lector por su cuenta y lo hace bien; el selector que hay en la página está ahí sobre todo para el caso en el que no hay nada que detectar, un archivo de una sola columna donde todos los candidatos brillan por su ausencia igual. Si el resultado sale con una única columna gigante llamada como toda tu cabecera, elige punto y coma a mano y vuelve a convertir.

La coma decimal convierte una columna numérica en texto

Esta es la trampa que se lleva la mayoría de los disgustos y es específica de nuestro idioma. El valor 12,5 en un CSV con punto y coma como separador llega al conversor como la cadena «12,5», no como un número: quien reconoce números aquí espera un punto decimal. Y una columna en la que ni un solo valor es numérico se escribe entera como texto.

El síntoma es inconfundible cuando ya está hecho: en el Parquet, importe y cantidad aparecen como cadenas y no se pueden sumar sin convertirlas primero. La solución está antes de la conversión y no después: exporta el CSV con punto decimal, cosa que Excel hace si cambias el separador decimal en las opciones avanzadas, o pásale al archivo un reemplazo previo. Convertir a Parquet una columna que ya es texto no la arregla, la fija.

Cuatro tipos y ni uno más

Lo que se escribe aquí es booleano, entero de 32 bits, número de coma flotante de doble precisión y texto. No hay más. El tipo se deduce mirando todos los valores de cada columna, no solo los primeros: si los que no están vacíos son todos booleanos, la columna es booleana; si son todos enteros que caben en 32 bits, entera; si son todos números pero alguno no es entero o alguno no cabe, coma flotante; cualquier otra cosa, texto.

Los valores vacíos no participan en la decisión, así que una columna numérica con huecos sigue siendo numérica. Eso es más útil de lo que parece con datos administrativos, donde lo normal es que la mitad de las filas tengan celdas sin rellenar y la otra mitad no.

Una sola celda rara y la columna entera es texto

Y es a propósito. Tomar el tipo de la primera fila —que es lo que hacen bastantes herramientas— escribiría como entera una columna que empieza con números y convertiría en nulo cada valor no numérico posterior. El archivo resultante carga sin quejarse y ha borrado filas en silencio, que es el peor de los dos fallos posibles.

Una columna de texto, en cambio, se ve, se convierte con una sola expresión y no pierde nada. Si algo que esperabas numérico llega como texto, consultar los valores que fallan al convertir suele devolver un puñado de filas con una nota al pie, un total, un «n. d.» o la palabra «sin datos» dentro, y cada una de ellas es un hecho verdadero sobre el extracto que alguien iba a tirar sin mirar.

Los ceros a la izquierda ya no estaban cuando llegó Parquet

El lector de CSV convierte a número lo que parece un número antes de que el escritor de Parquet vea nada, así que 007 es el número 7 y una columna de códigos rellenada con ceros llega convertida en enteros. Parquet se lleva la culpa de esto con regularidad y no le corresponde: la pérdida ocurre al interpretar el texto, que es el mismo paso que hace cualquier otro lector de CSV.

Las columnas en riesgo son aquellas en las que hacer cuentas no significaría nada: códigos postales —el 01001 de Vitoria es el ejemplo canónico—, números de expediente, referencias de artículo, teléfonos, números de cuenta. Si el extracto es tuyo, expórtalas entrecomilladas o con un prefijo y llegan intactas como texto. Si no lo es, revísalas en el resultado antes de guardar el archivo en ningún sitio duradero, porque la gracia de pasar a Parquet es justamente que el archivo deja de rehacerse cada vez.

Los enteros grandes salen en coma flotante, nunca en INT64

Una columna de enteros que se salga del rango de 32 bits no se escribe como entero de 64: se escribe como número de coma flotante de doble precisión. La razón está escrita en el propio módulo: los valores llegaron hasta ahí como números de JavaScript y ya venían limitados a 53 bits de precisión, así que ponerlos como INT64 prometería una exactitud que no tienen.

Es una decisión conservadora y hay que conocerla si trabajas con identificadores largos. Un número de 18 o 19 dígitos —los que usan varios sistemas de facturación y algunas API— no sobrevive intacto a este camino en ninguna de sus formas: o va como texto porque lo exportaste entrecomillado, que es lo correcto, o va como coma flotante y pierde los últimos dígitos.

Un viaje de ida y vuelta no te devuelve el esquema

Al leer un Parquet aquí se normaliza todo: un entero de 64 bits vuelve como número o, si pasa de 2 elevado a 53, como cadena; una fecha vuelve como texto en formato ISO; los datos binarios vuelven como hexadecimal en minúsculas; cualquier cosa anidada vuelve como texto JSON.

Así que Parquet a otra cosa y otra vez a Parquet no conserva el esquema que tenía el archivo original. Si lo que quieres es mover datos entre dos sistemas manteniendo tipos exactos, esta no es la herramienta y merece la pena decirlo aquí en lugar de que lo descubras al comparar dos ficheros que deberían ser iguales.

De dónde salen la mayoría de estos CSV

De portales de datos abiertos y de exportaciones de sistemas de gestión. El INE, los portales autonómicos, datos.gob.es y sus equivalentes en México, Chile, Colombia o Argentina publican tablas en CSV porque es lo que se puede abrir en cualquier parte, y quien las va a consultar cien veces prefiere no volver a interpretar el texto en cada consulta.

Esos archivos comparten dos rasgos que conviene mirar antes de convertir: separador de punto y coma casi siempre, y codificación que a veces no es UTF-8 sino la vieja Windows-1252, con lo que las eñes y las tildes llegan estropeadas. Lo segundo se ve enseguida en los nombres de municipio; si «A Coruña» sale mal en el CSV, saldrá mal en el Parquet, porque aquí no se adivina codificación.

Lo que cabe de verdad en una pestaña

La tabla entera se mantiene en memoria: el CSV se interpreta en filas, las filas se trasponen en columnas y las columnas se escriben. Decenas de megabytes pasan sin ceremonia y centenares es donde una pestaña empieza a sufrir. Es un techo real y no un nivel de suscripción: aquí no hay nada que subir ni nada que pagar, y el límite por archivo es de 100 MB.

Para un extracto de verdad grande, la herramienta correcta es DuckDB, que lee el CSV desde el disco y escribe Parquet en una sola instrucción sin llegar a sostener el archivo entero. Decirlo claro es más útil que dejar que una conversión de dos gigas falle a dos tercios del camino. Esta página es para el archivo que cabe, que son casi todos, y para cuando instalar algo no es una opción.

Por qué un extracto en bruto no debería subirse para convertirlo

Las dos mitades se ejecutan aquí: el lector de CSV y el escritor de Parquet son bibliotecas que carga esta página, y ninguna petición se lleva el archivo a ninguna parte. Un CSV camino de una plataforma de datos suele ser el artefacto menos redactado de toda la cadena: el volcado crudo, antes de los cruces y del enmascarado.

Con el Reglamento General de Protección de Datos delante, subir ese volcado a un conversor encontrado en un buscador es exactamente el paso que una política de tratamiento existe para impedir, y es un paso que además hay que documentar. Aquí no hay encargado del tratamiento que declarar, porque no hay tratamiento en ningún servidor: el archivo no sale del equipo, y se comprueba mirando la pestaña de red durante una conversión.

Cuándo los datos deberían seguir siendo un CSV

Parquet es mal destino para cualquier cosa que tenga que leer una persona. Es binario, no se edita y un compañero sin las herramientas adecuadas no lo abre siquiera. Si el archivo va a un ser humano y no a un motor de consultas, manda el CSV o una hoja de cálculo.

También es el destino equivocado para una carga que ocurre una vez y luego se tira: escribirlo no compensa si el archivo no se va a volver a consultar, y un cargador masivo leyendo texto delimitado directamente será más rápido de punta a punta. Elige Parquet cuando los mismos datos se vayan a recorrer muchas veces, filtrar, cruzar y conservar, que es justo cuando las columnas tipadas empiezan a devolver lo que costaron.

Cómo convertir CSV a Parquet

  1. Suelta tu archivo CSV en esta página, o haz clic para elegir uno.
  2. Elige Parquet como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo Parquet terminado.

CSV frente a Parquet: qué cambia

CSV frente a Parquet
CSVParquet
Nombre completoComma-Separated ValuesApache Parquet
Extensión de archivo.csv.parquet
Tipo de mediotext/csvapplication/vnd.apache.parquet
CompresiónSin pérdida — no se descarta nada
Publicado por primera vez19722013
Publicado porApache Software Foundation
EspecificaciónRFC 4180
LicenciaEstándar abiertoEstándar abierto
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorNingún navegador
Considerado en su lugarXLSX, JSONJSON

Qué se conserva

No se descarta nada. CSV y Parquet guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Abrir el resultado

pandas lee tanto CSV como Parquet, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

CSV se publicó en 1972. Está recogido en RFC 4180, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

Parquet viene de Apache Software Foundation y es de 2013. pandas, Apache Spark y DuckDB lo leen.

CSV se publicó en 1972 y Parquet en 2013. El más antiguo suele ser el archivo más seguro para entregar; el más reciente hace lo mismo con menos bytes.

De CSV a Parquet: preguntas frecuentes

¿Se sube a algún sitio mi archivo CSV?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo. El motor de este par concreto es parquet-wasm, una compilación en WebAssembly del lector de Apache Arrow; tu navegador lo descarga una vez y lo guarda.

¿Convertir CSV a Parquet es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez. parquet-wasm se descarga en tu equipo y se ejecuta allí, y por eso no hay contador.

¿Se pierde calidad al convertir CSV a Parquet?

No. Parquet guarda el mismo contenido sin tirar nada: el resultado es idéntico en calidad al original.

¿Es sin pérdida la conversión de CSV a Parquet?

No se descarta nada. CSV y Parquet guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Más sobre estos formatos