Converti arff in csv

Converti ARFF in CSV

Converti i dataset ARFF di Weka in CSV con Weka o Python e verifica lo schema e la perdita dei valori mancanti.

Crea file CSV online

Non sappiamo ancora leggere i file ARFF, quindi questa conversione non è disponibile. Se puoi esportare il tuo lavoro in uno di questi formati o in altri, ne ricaviamo un CSV:

Come convertire arff in csv file

  • Altro

I team convertono i dataset Weka quando Excel, un importer di database o un collaboratore si aspettano una tabella CSV piatta invece delle dichiarazioni ARFF. Il formato CSV è più facile da ispezionare e scambiare, ma la conversione rimuove le informazioni sullo schema memorizzate nell'intestazione ARFF.

Formati ARFF e CSV

ARFF (Attribute-Relation File Format) è un formato di dataset in testo semplice utilizzato principalmente dal software di machine learning Weka. Un file ARFF contiene un'intestazione con un nome di relazione e dichiarazioni @ATTRIBUTE, seguita da una sezione @DATA contenente i record.

Gli attributi possono essere numerici, nominali, stringa, data e, in Weka, relazionali. Una dichiarazione nominale come @ATTRIBUTE class {yes,no} definisce sia il tipo del campo sia i valori consentiti. ARFF può anche memorizzare righe sparse come {0 1,3 blue}, in cui i valori omessi utilizzano il valore predefinito del formato.

CSV memorizza una tabella piatta come righe separate da delimitatori, normalmente con i nomi delle colonne nella prima riga. Le applicazioni per fogli di calcolo, pandas, R, gli strumenti di importazione dei database e molti portali di dati accettano direttamente CSV. CSV non dispone di dichiarazioni standard dei tipi, elenchi di valori nominali, nomi di relazione, commenti, né della notazione per le righe sparse.

Convertire con Weka

Weka è il convertitore desktop più affidabile perché legge le intestazioni ARFF, i valori tra virgolette, i valori mancanti, gli attributi nominali e le istanze sparse.

  1. Aprire Weka e avviare Explorer.
  2. Nella scheda Preprocess, selezionare Open file... e scegliere il file .arff.
  3. Controllare l'elenco degli attributi e il conteggio delle istanze per confermare che Weka abbia caricato il dataset previsto.
  4. Selezionare Save..., scegliere CSV data files (*.csv), inserire un nome di output come dataset.csv e salvare.
  5. Aprire il risultato in un editor di testo o nel programma di destinazione previsto e verificare la riga di intestazione, il delimitatore, la codifica dei caratteri e la rappresentazione dei valori mancanti.

Per conversioni ripetibili, eseguire il CSV saver di Weka da un terminale. Sostituire /path/to/weka.jar con il percorso del JAR Weka installato:

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

Su Windows, racchiudere tra virgolette i percorsi che contengono spazi, ad esempio "C:\Program Files\Weka-3-8\weka.jar". Utilizzare il launcher fornito dall'installazione di Weka o la configurazione del classpath se la versione richiede librerie aggiuntive.

Convertire con Python o un servizio online

pandas non legge nativamente i file ARFF; richiede un parser ARFF. Per i normali file ARFF densi, installare liac-arff e 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)

Testare i file ARFF sparsi prima di utilizzare un parser Python in produzione; Weka è la scelta più sicura quando sono coinvolte istanze sparse, virgolette insolite o definizioni degli attributi specifiche di Weka.

Per un file di piccole dimensioni e non riservato, i servizi accessibili dal browser come Zamzar e Convertio possono offrire la conversione da ARFF a CSV. Confermare il supporto ARFF attuale e i termini di conservazione prima del caricamento. Non caricare dataset di clienti, medici, finanziari, di ricerca o proprietari su un servizio di conversione esterno.

Controlli di compatibilità

Conservare il file ARFF originale. CSV conserva i valori, ma perde i tipi dichiarati, i nomi di relazione, i commenti degli attributi, le limitazioni dei valori nominali e altri metadati dell'intestazione. Conservare l'intestazione ARFF o documentare separatamente lo schema quando i destinatari devono distinguere numeri, date, categorie e testo libero.

I valori mancanti ARFF vengono comunemente scritti come ?. A seconda del convertitore, l'output CSV può contenere un campo vuoto, ? o un altro marcatore. Verificarlo prima dell'importazione in un software che tratta in modo diverso i campi vuoti, NA e i punti interrogativi.

I campi CSV contenenti virgole, virgolette o interruzioni di riga devono essere racchiusi tra virgolette secondo le regole CSV. Non convertire ARFF sostituendo le virgole o suddividendo le righe con comandi di testo di base; questi metodi danneggiano i valori tra virgolette e non possono espandere le righe sparse.

Alcune installazioni di fogli di calcolo si aspettano un punto e virgola anziché una virgola a causa delle impostazioni regionali. Se le colonne vengono visualizzate in una sola cella dopo l'apertura del file, utilizzare la finestra di dialogo di importazione del testo del foglio di calcolo e selezionare esplicitamente il delimitatore invece di modificare manualmente il CSV.

Confronto formato: ARFF vs CSV

Come i formati ARFF e CSV si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati ARFF e CSV
Proprietà .ARFF Attribute-Relation File Format .CSV Comma-Separated Values
Leggibile come testo semplice Sì Sì
Tipi di dati Tipizzato Tipizzato
Strutture nidificate No No
Formule No No
Più tabelle o fogli No No
Dimensione tipica del file Piccolo Piccolo
Standard aperto Parzialmente aperto Sì
Ideale per Scambio dati Scambio dati
Sviluppatore University of Waikato / WEKA project —
Tipo MIME text/arff text/csv

Domande frequenti

I tipi degli attributi e gli elenchi dei valori nominali ARFF vengono mantenuti nel CSV?

No. Il CSV conserva i valori della tabella, ma non il nome della relazione ARFF, le dichiarazioni degli attributi, i tipi di dati o gli elenchi predefiniti di valori nominali, quindi potrebbe essere necessario ricrearli quando il CSV viene importato.

I valori mancanti e i dati ARFF sparsi cambiano quando vengono esportati in CSV?

I valori mancanti possono essere scritti usando la rappresentazione CSV del software di esportazione, mentre i record ARFF sparsi vengono espansi in righe ordinarie con un valore per ogni colonna. Controlla il risultato prima di usarlo per l'analisi, soprattutto se le celle vuote potrebbero essere confuse con testo effettivamente vuoto.

Le stringhe ARFF contenenti virgole o virgolette funzionano correttamente nel CSV?

Dovrebbero essere racchiuse e sottoposte a escape secondo le regole CSV, ma un'esportazione errata può dividere un singolo valore ARFF in più colonne. Questo accade comunemente con valori testuali o nominali contenenti virgole, virgolette o interruzioni di riga.

Posso convertire il CSV nuovamente in ARFF senza perdere informazioni?

Non senza ripristinare informazioni che il CSV non contiene, come i tipi degli attributi, le categorie nominali, il nome della relazione e alcune convenzioni sui valori mancanti. Di solito i dati possono essere ricostruiti, ma lo schema e la formattazione ARFF originali non vengono garantiti automaticamente.

Altre conversioni di file .arff

Conversione inversa

Conversione in .csv
da altri formati

Condividi sui social media: