Python XML do CSV

Python XML do CSV

Odkryjemy, w jaki sposób język programowania Pythona można użyć do konwersji danych z formatu XML na plik CSV w tym poście. Python zawiera kilka przydatnych modułów i pakietów, które zmniejszają ilość kodu, którego używamy w życiu codziennym. Ta funkcja Pythona sprawia, że ​​jest popularną opcją wśród głównej części społeczności programistów, szczególnie dla naukowców danych. Python jest również preferowany przez wielu ze względu na jego niezawodność i łatwość. Ma to znaczącą korzyść z pracy z dużymi zestawami danych.

Co to jest XML?

XML jest skrótem rozszerzalnego języka znaczników. Korzystanie z XML w usługach internetowych jest niezbędne lub że odgrywa kluczową/główną rolę w usługach internetowych. Ułatwia to przesyłanie danych między kilkoma platformami. Oferuje znormalizowaną metodę oznaczania konfiguracji danych jak hierarchia lub drzewo. Staje się doskonałą opcją w zakresie transmisji danych i usług internetowych, ponieważ upraszcza złożoność i umożliwia odczytanie danych przez wiele niezgodnych aplikacji. XML może być ogólnie nieco cięższy. Jeśli przekazujesz więcej danych, oznacza to, że będziesz potrzebować więcej czasu wykonywania, dodatkowej przestrzeni i prędkości transferu. Ogólne użytkownicy nie mogą odczytać danych w formacie XML. Ta struktura lub format może wymagać zmiany, aby była bardziej przyjazna dla użytkownika i czytelna.

Co to jest CSV?

CSV jest skrótem „wartości oddzielonych przecinkami”. Przecinek służy do oddzielenia wartości danych w pliku CSV. Dane są przechowywane w strukturze tabelarycznej w tym popularnym formacie pliku. Format pliku CSV jest obsługiwany przez aplikacje lub narzędzia prawie wszystkich znanych języków programowania. Ponieważ ogólni klienci nie mogą zrozumieć ani przeczytać informacji w formacie XML, może być konieczne przekonwertowanie ich na bardziej przyjazny dla użytkownika format, taki jak CSV. Plik CSV może być łatwo importowany, wyeksportowany i konwertowany na dowolny typ pliku w tworzeniu stron internetowych.

Utwórz plik XML w Python

Ten artykuł koncentruje się głównie na konwersji XML na CSV. Ale aby być dobrym programistą Pythona, powinieneś najpierw wiedzieć, w jaki sposób możemy utworzyć plik XML za pomocą Pythona. Możesz utworzyć plik XML w Python przy użyciu dowolnej z następujących metod:

Metoda 1: Tworzenie XML za pomocą modułu minidom

Aby użyć XML.funkcja DOM (), najpierw importujemy moduł minidom. Element główny jest następnie tworzony i dodawany do XML. Następnie tworzymy produkt dziecięcy z imienia rodzica „Python”. Po utworzeniu produktu dziecięcego możesz zapisać wybraną nazwę pliku. Pamiętaj, aby dołączyć „.Rozszerzenie XML ”z określoną nazwą pliku. Interfejs Dokument Object Model (DOM) jest minimalnie zaimplementowany przy użyciu modułu minidomu, który ma interfejs API, który jest identyczny z innymi językami. Ma być zarówno znacznie mniejszy, jak i prostszy niż pełny DOM.

Wyjście:

Plik XML jest tworzony w bieżącym katalogu.

Metoda 2: Tworzenie XML za pomocą Moduł ElementTree

Na początek musimy zaimportować „XML.Etree.ElementTree ”najpierw, aby utworzyć poddrzewa. Następnie tworzymy element główny, który musi znajdować się w zamierzonym bloku, aby uniknąć błędu. Możemy po prostu stworzyć lub zdefiniować strukturę drzewa po utworzeniu elementu głównego. Następnie zapisujemy plik za pomocą „.Rozszerzenie XML ”. Możemy podzielić dokument za pomocą ElementTree na zarządzaną strukturę drzewa.

Wyjście:

Jak widać, nasz plik XML jest tworzony. Możemy go również otworzyć za pomocą przeglądarek internetowych, aby przeglądać treść.

Jak zmienić XML na CSV w Python

Gdy nauczyliśmy się tworzyć pliki XML w Python, omawiamy teraz, jak konwertować pliki XML na CSV. Poniższe etapy są zazwyczaj zaangażowane w przekształcenie XML na CSV:

  1. Przeczytaj plik XML.
  2. Utwórz CSV.
  3. Plik CSV powinien otrzymać nagłówek zawierający pola, które należy uwzględnić.
  4. Utwórz nowy wiersz w pliku CSV i wyodrębnij niezbędne pola dla każdego elementu XML.

Metoda 1: Przekształcenie XML w CSV za pomocą zwykłego pythona

Najpierw przyjrzymy się metodę konwersji XML na CSV, która nie wymaga zainstalowania żadnych dodatkowych bibliotek. Python ma moduł o nazwie XML.Etree.ElementTree, który można użyć do manipulowania XML. To ten sam moduł, którego użyliśmy do utworzenia pliku XML. Ten moduł ułatwia tworzenie i analizowanie plików XML. Poniższy kod importuje dane w XML, wyodrębnia informacje o uczniach (nazwa, rolka i kurs) i wygeneruj rekord/wiersz w CSV dla każdego ucznia. Do tego używane są trzy kluczowe funkcje:

ElementTree.analizować(): Służy do importowania danych XML.

Znajdź wszystko(): Lokalizuje wszystkie elementy, które są bezpośrednimi dziećmi obecnego elementu i mają dostarczoną tag.

znajdować(): Z określonym znacznikiem ta funkcja lokalizuje pierwszy element dziecięcy.

Wyjście:

Metoda 2: Przekształcenie XML na CSV za pomocą pandy

Chociaż istnieje wiele funkcji i bibliotek do analizowania XML, używamy modułu ElementTree dla tego przykładu. Cały plik XML jest analizowany i przechowywany w postaci drzewa za pomocą modułu ElementTree. Aby analizować XML, zawiera metodę parse (). Metoda getroot () drzewa zwraca element główny drzewa. Iternujemy nad drzewem za pomocą pętli A dla pętli, a dane są pobierane za pomocą nazwy znaczników. Moduł Panda jest używany do przechowywania przeanalizowanych danych w ramce danych. Następnie używamy funkcji to_csv (), która jest dostarczana przez pandas, aby przekonwertować ramkę danych na CSV.

Wyjście:

Metoda 3: Przekształcenie XML na CSV za pomocą modułu XMLTodict

Przekształcenie XML na obiekt PY lub obiekt Python to kolejne podejście do pracy z XML. Umożliwia to wyszukiwanie elementów bezpośrednio w pliku XML bez wykonywania przetwarzania XML. Kod następujący wykonuje to samo zadanie, co kod, który go poprzedza. Ale zamiast używać XML.ETREE, aby parsować XML, używa modułu XMLTodict. Musisz zainstalować xmltodict indywidualnie, ponieważ jest to moduł stron trzecich.

Z pomocą .Parse () Funkcja z modułu XMLTodict można po prostu uzyskać dostęp do danych, odczytując XML i przekształcając je w uporządkowany słownik.

Wyjście:

Metoda 4: Przekształcenie XML na CSV za pomocą modułu Untangle

Wreszcie, możesz użyć modułu Python Untangle Python do konwersji XML na CSV. Untanglean antes plik XML i udostępnia dane, podobnie jak XMLTodict. Ponieważ Ultangle jest również modułem stron trzecich, musisz go zainstalować osobno za pośrednictwem polecenia PIP:

Skrypt, który następuje, importuje dane pliku XML, generuje CSV, a następnie używa modułu Untangle do wyodrębnienia danych z XML i zapisywania ich do CSV.

Wyjście:

Wniosek

W tym samouczku omówiliśmy wiele metod konwertowania XML na CSV w Python. Jak pokazaliśmy, niektóre biblioteki w Pythonie mogą być używane do konwersji XML na CSV. Możesz wybrać dowolny z nich w zależności od wymagań. Jeśli wszystko, co chcesz zrobić, to przekonwertować XML na CSV, wbudowany moduł Python dla XML.Etree oferuje najlepszą wydajność. Jednak xmltodict jest niezwykle przydatnym narzędziem, jeśli potrzebujesz również utworzenia pliku XML.