Convertir arff a csv

Convertir ARFF a CSV

Convierte conjuntos de datos ARFF de Weka a CSV con Weka o Python y comprueba el esquema y la pérdida de valores faltantes.

Cree archivos CSV en línea

Todavía no podemos leer archivos ARFF, así que esta conversión no está disponible. Si puede exportar su trabajo a alguno de estos formatos u otros, lo convertiremos en CSV:

Cómo convertir un archivo arff a csv

  • Otro

Los equipos convierten conjuntos de datos de Weka cuando Excel, un importador de bases de datos o un colaborador espera una tabla CSV plana en lugar de declaraciones ARFF. CSV es más fácil de inspeccionar e intercambiar, pero la conversión elimina la información de esquema almacenada en el encabezado ARFF.

Formatos ARFF y CSV

ARFF (Attribute-Relation File Format) es un formato de conjunto de datos de texto plano utilizado principalmente por el software de machine learning Weka. Un archivo ARFF contiene un encabezado con un nombre de relación y declaraciones @ATTRIBUTE, seguido de una sección @DATA que contiene registros.

Los atributos pueden ser numéricos, nominales, de cadena, de fecha y, en Weka, relacionales. Una declaración nominal como @ATTRIBUTE class {yes,no} define tanto el tipo de campo como sus valores permitidos. ARFF también puede almacenar filas dispersas, como {0 1,3 blue}, donde los valores omitidos utilizan el valor predeterminado del formato.

CSV almacena una tabla plana como filas separadas por delimitadores, normalmente con los nombres de las columnas en la primera fila. Las aplicaciones de hojas de cálculo, pandas, R, las herramientas de importación de bases de datos y muchos portales de datos aceptan CSV directamente. CSV no tiene declaraciones de tipos estándar, listas de valores nominales, nombre de relación, comentarios ni notación para filas dispersas.

Convertir con Weka

Weka es el convertidor de escritorio más fiable porque lee encabezados ARFF, valores entre comillas, valores ausentes, atributos nominales e instancias dispersas.

  1. Abra Weka e inicie Explorer.
  2. En la pestaña Preprocess, seleccione Open file... y elija el archivo .arff.
  3. Compruebe la lista de atributos y el recuento de instancias para confirmar que Weka cargó el conjunto de datos esperado.
  4. Seleccione Save..., elija CSV data files (*.csv), introduzca un nombre de salida como dataset.csv y guarde.
  5. Abra el resultado en un editor de texto o en el programa de destino previsto y verifique la fila de encabezado, el delimitador, la codificación de caracteres y la representación de los valores ausentes.

Para conversiones repetibles, ejecute el CSV saver de Weka desde una terminal. Sustituya /path/to/weka.jar por la ruta del Weka JAR instalado:

java -cp /path/to/weka.jar weka.core.converters.CSVSaver -i input.arff -o output.csv

En Windows, escriba entre comillas las rutas que contengan espacios, por ejemplo "C:\Program Files\Weka-3-8\weka.jar". Utilice el launcher suministrado con la instalación de Weka o la configuración de classpath si su versión requiere bibliotecas adicionales.

Convertir con Python o un servicio en línea

pandas no lee archivos ARFF de forma nativa; necesita un parser de ARFF. Para archivos ARFF densos normales, instale liac-arff y pandas:

pip install liac-arff pandas

import arff
import pandas as pd

with open("input.arff", encoding="utf-8") as source:
    dataset = arff.load(source)

columns = [name for name, _ in dataset["attributes"]]
pd.DataFrame(dataset["data"], columns=columns).to_csv("output.csv", index=False)

Pruebe los archivos ARFF dispersos antes de utilizar un parser de Python en producción; Weka es la opción más segura cuando intervienen instancias dispersas, un uso de comillas inusual o definiciones de atributos específicas de Weka.

Para un archivo pequeño y no confidencial, servicios de navegador como Zamzar y Convertio pueden ofrecer conversión de ARFF a CSV. Confirme la compatibilidad actual con ARFF y las condiciones de conservación antes de cargar el archivo. No cargue conjuntos de datos de clientes, médicos, financieros, de investigación o de propiedad exclusiva en un servicio de conversión externo.

Comprobaciones de compatibilidad

Conserve el archivo ARFF original. CSV conserva los valores, pero pierde los tipos declarados, los nombres de relación, los comentarios de atributos, las restricciones de valores nominales y otros metadatos del encabezado. Conserve el encabezado ARFF o documente el esquema por separado cuando los destinatarios deban distinguir entre números, fechas, categorías y texto libre.

Los valores ausentes de ARFF se escriben habitualmente como ?. Según el convertidor, la salida CSV puede contener un campo vacío, ? u otro marcador. Compruébelo antes de importar los datos en un software que trate de forma diferente los campos en blanco, NA y los signos de interrogación.

Los campos CSV que contienen comas, comillas o saltos de línea deben escribirse entre comillas de acuerdo con las reglas de CSV. No convierta ARFF sustituyendo comas ni dividiendo líneas con comandos de texto básicos; esos métodos corrompen los valores entre comillas y no pueden expandir las filas dispersas.

Algunas instalaciones de hojas de cálculo esperan un punto y coma en lugar de una coma debido a la configuración regional. Si las columnas aparecen en una sola celda al abrir el archivo, utilice el cuadro de diálogo de importación de texto de la hoja de cálculo y seleccione explícitamente el delimitador en lugar de editar el CSV manualmente.

ARFF vs CSV: comparación de formatos

Cómo se comparan los formatos ARFF y CSV en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo ARFF y CSV
Propiedad .ARFF Attribute-Relation File Format .CSV Comma-Separated Values
Legible como texto plano Sí Sí
Tipos de datos Tipado Tipado
Estructuras anidadas No No
Fórmulas No No
Varias tablas o hojas No No
Tamaño de archivo típico Pequeño Pequeño
Estándar abierto Parcialmente abierto Sí
Más adecuado para Intercambio de datos Intercambio de datos
Desarrollador University of Waikato / WEKA project —
Tipo MIME text/arff text/csv

Preguntas frecuentes

¿Se conservarán en CSV los tipos de atributos y las listas de valores nominales de ARFF?

No. CSV conserva los valores de la tabla, pero no el nombre de la relación, las declaraciones de atributos, los tipos de datos ni las listas predefinidas de valores nominales de ARFF, por lo que puede ser necesario recrearlos al importar el CSV.

¿Cambian los valores faltantes y los datos ARFF dispersos al exportarlos a CSV?

Los valores faltantes pueden escribirse usando la representación CSV del software de exportación, mientras que los registros ARFF dispersos se expanden en filas normales con un valor para cada columna. Comprueba el resultado antes de usarlo para el análisis, especialmente si las celdas vacías podrían confundirse con texto vacío real.

¿Funcionarán correctamente en CSV las cadenas de ARFF que contienen comas o comillas?

Deberían encerrarse y escaparse según las reglas de CSV, pero una exportación incorrecta puede dividir un valor de ARFF en varias columnas. Esto ocurre habitualmente con valores de texto o nominales que contienen comas, comillas o saltos de línea.

¿Puedo convertir CSV de nuevo a ARFF sin perder información?

No sin restaurar la información que CSV no contiene, como los tipos de atributos, las categorías nominales, el nombre de la relación y algunas convenciones de valores faltantes. Normalmente se pueden reconstruir los datos, pero no se garantiza que el esquema y el formato originales de ARFF regresen automáticamente.