Jak przekonwertować plik CSV na XML?
Czy jest jakieś oprogramowanie dla Ubuntu?
conversion
xml
csv
Vitor Mazuco
źródło
źródło
Odpowiedzi:
Na stronie internetowej społeczności dotyczącej konwersji znajduje się link do narzędzia wiersza polecenia o nazwie csv2xml . Ponieważ nie jest zachowane, możesz wybrać inną opcję.
Wspomniano także o narzędziu Java o nazwie csv2xml (ostrzeżenie: strona internetowa jest w języku niemieckim) oraz narzędziu wiersza poleceń o nazwie ff-extractor .
Link zawiera również odniesienia do Python, Perl, PHP, XSLT, ale oznacza to, że musisz samodzielnie kodować konwerter.
źródło
Kiedy znasz format
csv
pliku i strukturę, której potrzebujesz wxml
pliku, dość łatwo jest utworzyć skrypt, który może obsłużyć konwersję.Weź plik
simple.csv
:Możesz utworzyć następujący
xml
plik:Za pomocą następującego skryptu:
Nawet jeśli nigdy wcześniej nie kodowałeś, myślę, że powinno to być łatwe w użyciu i modyfikacji. Plik jest odczytywany linia po linii w
while
pętli.IFS
jest wewnętrznym specyfikatorem pola.IFS=$','
Oświadcza, że wartość separatora pól jest przecinek. Jest to standard dla pliku CSV, ale można go zmienić w razie potrzeby, aby dopasować format pliku wejściowego.-r
Argumentread
polecenia informuje go traktować żadnych backslashy w pliku jako część danych, a nie jako uciec na poniższym szczególnym charakterze.-a arry
Argumentem umieszcza każdą kolumnę pliku do tablicy (nazwiearry
). Kolumny w tym przykładzie to nazwa, wiek, kraj. Innymi słowy wartości między przecinkami. Tak więc każda kolumna w wierszu jest przechowywana w tablicy.Następnie potrzebny tekst
xml
jest po prostu zawijany wokół wartości, axml
linia jest dołączana do pliku wyjściowego za pomocąecho
.źródło
while IFS=$',' read -r -a arry
, jest przydatna dla innej. Dzięki."Somename, Jack"
miejscuJack
pliku wejściowego?Dość przyjaznym dla użytkownika (tzn. Łatwym w użyciu dla wielu osób takim jak ja) rozwiązaniem problemu konwersji CSV na XML jest użycie ładnego wieloplatformowego edytora XML z wbudowaną tą funkcją. (Używałem go zarówno pod Ubuntu, jak i Mac OSX 10.10.5; ma także plik wykonywalny dla systemu Windows).
XMLSpear
Jak wspomniano, jest to edytor XML, ale zawiera „import” CSV-na-XML (i Excel-na-XML) w menu głównym:
Przekształciłem dla mnie plik CSV o wielkości 31 Mb (zrzut z bazy danych bibliotek zawierającej 20 000 wpisów) w około 15 sekund, co daje mi dobrze sformatowany plik XML do zapisania i manipulowania.
Jako edytor ma wiele innych funkcji powitalnych (wyszczególnionych pod linkiem powyżej). Nie mogę znaleźć wzmianki o żadnej licencji na to, ale jest to zawarte w „README”:
Plik Readme zawiera również pomocną zawartość pliku .desktop.
Dobrze działa dla mnie pod Ubuntu 18.04 LTS (Gnome).
źródło
Jestem wielkim fanem tego,
BaseX
który wydaje się mieć możliwość importu:http://docs.basex.org/wiki/CSV_Module
Może wskazać, że pozornie łatwiej jest korzystać z aplikacji internetowej:
https://webapps.stackexchange.com/q/123959/24327
Co oznacza wtyczkę lub rozszerzenie przeglądarki współpracujące z arkuszami Google.
Czuję twój ból, ponieważ jest to pozornie proste narzędzie, które powinno być dostępne przez apt.
źródło
Sugerowałbym, abyś ty lub ktoś napisał kody w Pythonie. Python jest łatwy do opanowania i rozwiązania problemu. Ma zarówno moduł CSV, jak i XML . Moja sugestia bierze pod uwagę, że może być konieczne posiadanie własnych nazw elementów XML lub innych skomplikowanych wymagań (takich jak konwersja ostatniej kolumny CSV na atrybut ostatniej kolumny).
Istnieje mnóstwo samouczków online na temat Pythona.
źródło