La respuesta corta
- Apache Parquet es un formato binario de datos por columnas que almacena tablas en grupos de filas y bloques de columnas, cuya lectura depende de las funciones que admita el lector.
- En un ordenador Windows o Mac con Python y PyArrow disponibles, ejecuta import pyarrow.parquet as pq y después table = pq.read_table('archivo.parquet'). Usa table.to_pandas() para obtener un DataFrame. Puedes seleccionar columnas con pq.read_table('archivo.parquet', columns=['columna']) o leer un grupo con pq.ParquetFile('archivo.parquet').read_row_group(0). Estos ejemplos leen un archivo local en un ordenador; si lo tienes en el móvil, cópialo a un ordenador y sigue los mismos pasos.
- No se espera contenido ejecutable en Parquet, pero puede almacenar datos arbitrarios o sensibles. La implementación y la configuración del lector importan: CVE-2025-46762 describe ejecución de código en parquet-avro con los modelos specific o reflect; el modelo generic no está afectado por esa vulnerabilidad y el registro recomienda actualizar a 1.15.2. Esto no descarta otros riesgos. El cifrado modular puede dejar regiones sin cifrar y AES CTR por sí solo no autentica los datos.
Archivos Apache Parquet: abrir, leer y convertir
La extensión registrada es .parquet y el tipo de medio es application/vnd.apache.parquet. Cada grupo de filas contiene bloques de columnas. Los metadatos al final permiten localizar los bloques necesarios; después aparecen su longitud de cuatro bytes en little-endian y el marcador final. Los archivos ordinarios usan PAR1 y los que tienen pie cifrado usan PARE. Consulta la [descripción oficial del formato](https://parquet.apache.org/docs/file-format/).
Lee el archivo como tabla Arrow y usa table.to_pandas() si necesitas pandas. Para convertir Parquet a CSV, exporta después con una herramienta que admita CSV. Revisa el resultado: algunos detalles de la aplicación, como el índice de pandas, pueden no conservarse. Para escribir Parquet, usa pq.write_table(table, 'salida.parquet'). Si el índice original se omitió al crear la tabla Arrow, no se recuperará al volver a leer Parquet.
Cómo abrirlo
En un ordenador Windows o Mac con Python y PyArrow disponibles, ejecuta import pyarrow.parquet as pq y después table = pq.read_table('archivo.parquet'). Usa table.to_pandas() para obtener un DataFrame. Puedes seleccionar columnas con pq.read_table('archivo.parquet', columns=['columna']) o leer un grupo con pq.ParquetFile('archivo.parquet').read_row_group(0). Estos ejemplos leen un archivo local en un ordenador; si lo tienes en el móvil, cópialo a un ordenador y sigue los mismos pasos.
En un ordenador Windows o Mac con Python y PyArrow disponibles, ejecuta import pyarrow.parquet as pq y después table = pq.read_table('archivo.parquet'). Usa table.to_pandas() para obtener un DataFrame. Puedes seleccionar columnas con pq.read_table('archivo.parquet', columns=['columna']) o leer un grupo con pq.ParquetFile('archivo.parquet').read_row_group(0). Estos ejemplos leen un archivo local en un ordenador; si lo tienes en el móvil, cópialo a un ordenador y sigue los mismos pasos.
Lee el archivo como tabla Arrow y usa table.to_pandas() si necesitas pandas. Para convertir Parquet a CSV, exporta después con una herramienta que admita CSV. Revisa el resultado: algunos detalles de la aplicación, como el índice de pandas, pueden no conservarse. Para escribir Parquet, usa pq.write_table(table, 'salida.parquet'). Si el índice original se omitió al crear la tabla Arrow, no se recuperará al volver a leer Parquet.
Seguridad
No se espera contenido ejecutable en Parquet, pero puede almacenar datos arbitrarios o sensibles. La implementación y la configuración del lector importan: CVE-2025-46762 describe ejecución de código en parquet-avro con los modelos specific o reflect; el modelo generic no está afectado por esa vulnerabilidad y el registro recomienda actualizar a 1.15.2. Esto no descarta otros riesgos. El cifrado modular puede dejar regiones sin cifrar y AES CTR por sí solo no autentica los datos.
Un remitente desconocido, un nombre que acaba en dos extensiones o un contenido que no cuadra con la extensión: compruébalo antes de abrirlo.
Cómo convertirlo
Lee el archivo como tabla Arrow y usa table.to_pandas() si necesitas pandas. Para convertir Parquet a CSV, exporta después con una herramienta que admita CSV. Revisa el resultado: algunos detalles de la aplicación, como el índice de pandas, pueden no conservarse. Para escribir Parquet, usa pq.write_table(table, 'salida.parquet'). Si el índice original se omitió al crear la tabla Arrow, no se recuperará al volver a leer Parquet.
Convierte una copia, nunca el original, y después compara calidad, metadatos y maquetación con el archivo de partida.
Preguntas frecuentes
¿Qué es un archivo Parquet y para qué sirve?
Es un archivo binario que almacena datos tabulares por columnas. Sus grupos de filas contienen bloques de columnas, lo que permite a un lector compatible recuperar solo las columnas necesarias.
¿Cómo leer un archivo Parquet con Python?
Con PyArrow disponible, ejecuta import pyarrow.parquet as pq y table = pq.read_table('archivo.parquet'). Obtendrás una tabla Arrow; table.to_pandas() la convierte en un DataFrame de pandas.
¿Cómo abrir un archivo Parquet en Windows?
En un entorno Python de Windows con PyArrow disponible, usa pyarrow.parquet.read_table('archivo.parquet'). Puedes convertir la tabla con to_pandas(). El lector debe admitir las funciones utilizadas por el archivo.
¿Cómo abrir un archivo Parquet en Mac?
En un entorno Python de Mac con PyArrow disponible, usa pyarrow.parquet.read_table('archivo.parquet'). Para limitar la lectura a ciertas columnas, añade columns=['columna']. Comprueba la compatibilidad del lector.
¿Cómo abrir un archivo Parquet en un móvil?
Copia el archivo del móvil a un ordenador y léelo con Python y PyArrow mediante pyarrow.parquet.read_table('archivo.parquet'). Aquí no se recomienda ninguna aplicación móvil concreta.
¿Cómo resolver un error de compatibilidad al leer Parquet?
Comprueba si el lector admite las codificaciones del archivo y Data Page V2. Un lector antiguo puede fallar con funciones no admitidas; si desconoce un tipo lógico, puede devolver el tipo físico subyacente. Usa un lector compatible con esas funciones.
¿Conviene leer toda la tabla Parquet o solo columnas seleccionadas?
Lee toda la tabla si necesitas todas las columnas. Para campos concretos, usa el argumento columns de PyArrow. También puedes leer grupos de filas individuales para evitar cargar la tabla completa.
¿Cómo convertir Parquet a CSV?
Lee Parquet con PyArrow y, si lo necesitas, convierte la tabla a pandas mediante to_pandas(). Después exporta con una herramienta compatible con CSV. Revisa el resultado: algunos detalles de la aplicación, como el índice de pandas, pueden no conservarse.
¿Por qué aparece un índice perdido de Parquet a pandas tras guardar y leer?
Si el índice original de pandas no se conservó al crear la tabla Arrow, guardar y leer Parquet no lo restaurará. Comprueba cómo se conserva el índice antes de guardar y compara el DataFrame recuperado con el original.
¿Es seguro abrir un archivo Parquet?
La extensión no basta para determinarlo. Puede contener datos sensibles y los lectores pueden tener vulnerabilidades. CVE-2025-46762 afecta a los modos specific y reflect de parquet-avro y recomienda actualizar a 1.15.2; generic no está afectado por esa vulnerabilidad concreta.
¿Qué comprobar antes de leer un archivo Parquet cifrado?
Comprueba que el lector admita las funciones de cifrado utilizadas. El cifrado modular permite proteger columnas y pie por separado y dejar regiones en claro. AES CTR por sí solo no proporciona autenticación, por lo que cifrado no equivale siempre a protección completa de integridad.
Formatos relacionados
Fuentes
IANA — application/vnd.apache.parquet · IANA 官方媒体类型登记
Apache Parquet — File Format · Apache Parquet 官方格式文档
Apache Arrow — Reading and Writing Single Files · Apache Arrow 官方使用文档
Apache Parquet — Parquet format versions · Apache Parquet 官方兼容性文档
CVE-2025-46762 · CVE 官方漏洞记录;分配机构为 Apache Software Foundation
Apache Parquet — Modular Encryption · Apache Parquet 官方加密规范