Konwertuj arff do csv

Konwertuj ARFF na CSV

Konwertuj zbiory danych Weka ARFF do CSV za pomocą Weka lub Python i sprawdź schemat oraz utratę brakujących wartości.

Twórz pliki CSV online

Nie potrafimy jeszcze odczytać plików ARFF, więc tej konwersji nie oferujemy. Jeśli możesz wyeksportować swoją pracę do jednego z tych lub innych formatów, zrobimy z niego CSV:

Jak konwertować arff do csv

Zespoły konwertują datasety Weka, gdy Excel, importer bazy danych lub współpracownik oczekuje płaskiej tabeli CSV zamiast deklaracji ARFF. CSV jest łatwiejszy do przeglądania i wymiany, ale konwersja usuwa informacje o schemacie przechowywane w nagłówku ARFF.

Formaty ARFF i CSV

ARFF (Attribute-Relation File Format) to tekstowy format datasetów używany głównie przez software do machine learningu Weka. Plik ARFF zawiera nagłówek z nazwą relacji i deklaracjami @ATTRIBUTE, a następnie sekcję @DATA zawierającą rekordy.

Atrybuty mogą być numeryczne, nominalne, tekstowe, datowe oraz, w Weka, relacyjne. Deklaracja nominalna, taka jak @ATTRIBUTE class {yes,no}, definiuje zarówno typ pola, jak i jego dozwolone wartości. ARFF może również przechowywać wiersze sparse, takie jak {0 1,3 blue}, w których pominięte wartości używają wartości domyślnej formatu.

CSV przechowuje płaską tabelę jako wiersze rozdzielane delimiterem, zwykle z nazwami kolumn w pierwszym wierszu. Aplikacje arkuszy kalkulacyjnych, pandas, R, narzędzia do importu baz danych i wiele portali danych obsługują CSV bezpośrednio. CSV nie ma standardowych deklaracji typów, list wartości nominalnych, nazwy relacji, komentarzy ani notacji wierszy sparse.

Konwersja za pomocą Weka

Weka jest najbardziej niezawodnym konwerterem desktopowym, ponieważ odczytuje nagłówki ARFF, wartości w cudzysłowach, brakujące wartości, atrybuty nominalne i instancje sparse.

  1. Otwórz Weka i uruchom Explorer.
  2. Na karcie Preprocess wybierz Open file... i wskaż plik .arff.
  3. Sprawdź listę atrybutów i liczbę instancji, aby potwierdzić, że Weka wczytała oczekiwany dataset.
  4. Wybierz Save..., wybierz CSV data files (*.csv), wprowadź nazwę wyjściową, na przykład dataset.csv, i zapisz plik.
  5. Otwórz wynik w edytorze tekstu lub docelowym programie i sprawdź wiersz nagłówka, delimiter, encoding znaków oraz reprezentację brakujących wartości.

W przypadku powtarzalnych konwersji uruchom CSV saver Weka z terminala. Zastąp /path/to/weka.jar ścieżką do zainstalowanego pliku JAR Weka:

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

W systemie Windows umieszczaj ścieżki zawierające spacje w cudzysłowach, na przykład "C:\Program Files\Weka-3-8\weka.jar". Jeśli dana wersja wymaga dodatkowych bibliotek, użyj launchera dostarczonego z instalacją Weka lub jej konfiguracji classpath.

Konwersja za pomocą Python lub usługi online

pandas nie odczytuje natywnie plików ARFF; wymaga parsera ARFF. W przypadku zwykłych plików ARFF dense zainstaluj liac-arff i 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)

Przetestuj pliki ARFF sparse przed użyciem parsera Python w środowisku produkcyjnym; Weka jest bezpieczniejszym wyborem, gdy używane są instancje sparse, nietypowe cudzysłowy lub specyficzne dla Weka definicje atrybutów.

W przypadku małego, niepoufnego pliku usługi działające w przeglądarce, takie jak Zamzar i Convertio, mogą oferować konwersję ARFF do CSV. Przed przesłaniem pliku potwierdź aktualną obsługę ARFF i warunki przechowywania danych. Nie przesyłaj datasetów klientów, medycznych, finansowych, badawczych ani zastrzeżonych do zewnętrznej usługi konwersji.

Kontrola zgodności

Zachowaj oryginalny plik ARFF. CSV zachowuje wartości, ale traci zadeklarowane typy, nazwy relacji, komentarze atrybutów, ograniczenia wartości nominalnych i inne metadane nagłówka. Zachowaj nagłówek ARFF lub udokumentuj schemat osobno, gdy odbiorcy muszą rozróżniać liczby, daty, kategorie i dowolny tekst.

Brakujące wartości ARFF są zwykle zapisywane jako ?. W zależności od konwertera dane wyjściowe CSV mogą zawierać puste pole, ? lub inny marker. Sprawdź to przed zaimportowaniem danych do software, który różnie interpretuje puste pola, NA i znaki zapytania.

Pola CSV zawierające przecinki, cudzysłowy lub podziały wiersza muszą być ujmowane w cudzysłowy zgodnie z regułami CSV. Nie konwertuj ARFF przez zastępowanie przecinków ani dzielenie wierszy za pomocą podstawowych poleceń tekstowych; takie metody uszkadzają wartości w cudzysłowach i nie potrafią rozwinąć wierszy sparse.

Niektóre instalacje arkuszy kalkulacyjnych oczekują średnika zamiast przecinka ze względu na ustawienia regionalne. Jeśli po otwarciu pliku kolumny pojawiają się w jednej komórce, użyj okna importu tekstu arkusza kalkulacyjnego i jawnie wybierz delimiter zamiast ręcznie edytować plik CSV.

Porównanie formatu ARFF z CSV

Jak formaty ARFF i CSV wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.

Porównanie formatów plików ARFF i CSV
Cecha .ARFF Attribute-Relation File Format .CSV Comma-Separated Values
Czytelny tekstowo Tak Tak
Typy danych Typowane Typowane
Zagnieżdżone struktury Nie Nie
Formuły Nie Nie
Wiele tabel lub arkuszy Nie Nie
Typowy rozmiar pliku Mały Mały
Otwarty standard Częściowo otwarty Tak
Najlepszy do Wymiana danych Wymiana danych
Twórca University of Waikato / WEKA project —
Typ MIME text/arff text/csv

Najczęściej zadawane pytania

Czy typy atrybutów ARFF i listy wartości nominalnych zostaną zachowane w CSV?

Nie. CSV zachowuje wartości tabeli, ale nie nazwę relacji ARFF, deklaracje atrybutów, typy danych ani predefiniowane listy wartości nominalnych, więc mogą one wymagać odtworzenia podczas importowania CSV.

Czy brakujące wartości i rzadkie dane ARFF zmieniają się podczas eksportu do CSV?

Brakujące wartości mogą zostać zapisane przy użyciu reprezentacji CSV stosowanej przez oprogramowanie eksportujące, natomiast rzadkie rekordy ARFF są rozwijane do zwykłych wierszy z wartością w każdej kolumnie. Sprawdź wynik przed użyciem go do analizy, zwłaszcza jeśli puste komórki można pomylić z rzeczywiście pustym tekstem.

Czy ciągi ARFF zawierające przecinki lub cudzysłowy będą poprawnie działać w CSV?

Powinny być ujęte i zabezpieczone zgodnie z regułami CSV, ale niepoprawny eksport może rozdzielić jedną wartość ARFF na wiele kolumn. Często zdarza się to w przypadku wartości tekstowych lub nominalnych zawierających przecinki, cudzysłowy albo znaki końca wiersza.

Czy można przekonwertować CSV z powrotem do ARFF bez utraty informacji?

Nie bez przywrócenia informacji, których CSV nie zawiera, takich jak typy atrybutów, kategorie nominalne, nazwa relacji i niektóre konwencje oznaczania brakujących wartości. Dane zwykle można odtworzyć, ale nie ma gwarancji, że pierwotny schemat ARFF i formatowanie zostaną automatycznie przywrócone.

Dodatkowe formaty dla konwersji pliku
arff

Konwersja odwrotna

Konwersja do .csv
z innych formatów

Udostępnij w mediach społecznościowych: