Darmowy konwerter online CSV do XML
Konwertuj tabelaryczne dane CSV na ustrukturyzowany XML dla systemów wymagających nazwanych elementów i schematów.
Konwertuj CSV na XML online - za darmo
Plik jest przetwarzany natychmiast i nie jest przechowywany na naszych serwerach.
Jak konwertować csv do xml
- Pliki tekstowe
- Brak ocen.
System importu danych, urządzenie lub aplikacja biznesowa może wymagać formatu XML zamiast tabelarycznego pliku CSV. Konwersja zachowuje rekordy, przedstawiając ich pola jako nazwane elementy, które oprogramowanie może przetwarzać, weryfikować i wymieniać.
Czym jest format CSV
CSV (comma-separated values) przechowuje dane prostokątne w wierszach i kolumnach. Każdy wiersz zwykle reprezentuje jeden rekord, a pierwszy wiersz może zawierać nazwy kolumn, takie jak id,name,price.
Pomimo nazwy plik CSV może używać przecinków, średników, tabulatorów lub innego separatora. Wartości zawierające separator, podziały wierszy lub cudzysłowy są zwykle ujmowane w podwójne cudzysłowy; występujący wewnątrz podwójny cudzysłów jest reprezentowany przez dwa następujące po sobie podwójne cudzysłowy. Konwencje CSV nie są całkowicie jednolite, dlatego przed konwersją należy określić separator, zasady stosowania cudzysłowów, zakończenia wierszy i kodowanie znaków.
Aplikacje arkuszy kalkulacyjnych, takie jak Microsoft Excel i LibreOffice Calc, eksportują pliki CSV. Używają ich również bazy danych, systemy księgowe, menedżery kontaktów, przyrządy laboratoryjne i skrypty. CSV nadaje się do prostych tabel, ale natywnie nie opisuje zagnieżdżonych rekordów, atrybutów, typów danych, reguł weryfikacji ani relacji między tabelami.
Czym jest format XML
XML (Extensible Markup Language) przechowuje uporządkowany tekst za pomocą elementów i atrybutów. Wiersz dotyczący klienta może stać się elementem <customer> zawierającym elementy podrzędne, takie jak <id>, <name> i <email>.
XML może reprezentować hierarchię, powtarzające się rekordy, przestrzenie nazw, komentarze i reguły weryfikacji zdefiniowane w schemacie, takim jak XSD. Funkcje te obsługują interfejsy aplikacji, pliki konfiguracyjne, wymianę dokumentów, systemy publikowania i archiwa wymagające jawnej struktury. XML jest zwykle bardziej rozwlekły niż CSV, a konwerter nie może wywnioskować relacji biznesowych ani wymaganego schematu odbiorcy wyłącznie na podstawie nazw kolumn.
Jak konwertować pliki CSV do XML
Korzystanie z wbudowanego konwertera online
- Otwórz konwerter CSV-do-XML na stronie 101convert.com.
- Wybierz lub prześlij źródłowy plik
.csv. - Wybierz separator używany przez plik, najczęściej przecinek, średnik lub tabulator, i określ, czy pierwszy wiersz zawiera nagłówki kolumn.
- Wybierz UTF-8, jeśli dane zawierają znaki diakrytyczne, tekst zapisany alfabetem innym niż łaciński lub symbole.
- Wybierz strukturę XML, jeśli dostępne są takie opcje. Typowa struktura zawiera jeden element główny, jeden powtarzający się element rekordu oraz jeden element podrzędny dla każdej kolumny.
- Rozpocznij konwersję i pobierz wynikowy plik
.xml.
Pliki można konwertować na stronie 101convert.com bez instalowania oprogramowania. Nie przesyłaj poufnych, regulowanych ani umożliwiających identyfikację osób danych, chyba że usługa spełnia obowiązujące wymagania dotyczące przetwarzania danych.
Korzystanie z Python
Biblioteka standardowa Python może wykonywać powtarzalne konwersje bez dodatkowego pakietu. Ten przykład odczytuje wiersz nagłówków, stosuje zachowawcze mapowanie nazw elementów XML i zapisuje XML w kodowaniu UTF-8:
import csv
import re
import xml.etree.ElementTree as ET
def xml_name(header, number):
name = re.sub(r"[^A-Za-z0-9_.-]", "_", header.strip())
if not name or not re.match(r"^[A-Za-z_]", name):
name = f"field_{number}"
return name
root = ET.Element("records")
with open("input.csv", newline="", encoding="utf-8-sig") as source:
reader = csv.DictReader(source, delimiter=",")
headers = [xml_name(h or "", i) for i, h in enumerate(reader.fieldnames or [], 1)]
for values in reader:
record = ET.SubElement(root, "record")
for number, (original, value) in enumerate(values.items(), 1):
field = ET.SubElement(record, headers[number - 1])
field.text = value or ""
ET.ElementTree(root).write("output.xml", encoding="utf-8", xml_declaration=True)
Zapisz skrypt jako csv_to_xml.py i uruchom polecenie python csv_to_xml.py. Zmień delimiter="," w przypadku pliku rozdzielanego średnikami lub tabulatorami, a elementy records i record zastąp nazwami wymaganymi przez system odbierający. Skrypt zakłada unikatowe nagłówki; po oczyszczeniu nazw zduplikowane nagłówki należy zmienić lub jawnie zmapować.
Kontrole zgodności i jakości danych
- Dopasuj strukturę do schematu docelowego. Poprawny składniowo plik XML może nadal zostać odrzucony, jeśli zawiera nieprawidłowy element główny, przestrzeń nazw, zagnieżdżenie, kolejność pól, wymagany element lub format danych. Jeśli jest dostępny, użyj XSD odbiorcy lub przykładowego pliku XML.
- Sprawdź nazwy elementów XML. Nazw nagłówków nie można używać bez zmian, jeśli zaczynają się od cyfry lub zawierają spacje i inne niedozwolone znaki. Zmień je lub skonfiguruj jawne mapowanie. Unikaj bezpośredniego przekształcania dowolnych nagłówków w znaczniki XML bez ich weryfikacji.
- Jawnie określ typy danych. CSV nie rozróżnia niezawodnie identyfikatorów, liczb, dat i wartości Boolean. Zachowaj wartości takie jak
00125jako ciągi znaków, jeśli znaczenie mają początkowe zera, oraz określ separatory dziesiętne, formaty dat i reprezentacje wartości Boolean. - Ustal sposób reprezentowania pustych pól. Brak elementu, pusty element, taki jak
<email/>, oraz pusty atrybut mogą mieć różne znaczenia dla aplikacji odbierającej. - Zweryfikuj kodowanie. Zwykle wybiera się UTF-8. Deklaracja XML, taka jak
<?xml version="1.0" encoding="UTF-8"?>, musi odpowiadać rzeczywistemu kodowaniu pliku. - Zachowaj prawidłowe kodowanie znaków specjalnych. Ampersandy, znaki mniejsze niż i inne zastrzeżone znaki muszą być odpowiednio kodowane w XML. Biblioteki i prawidłowe konwertery obsługują to automatycznie; ręczne łączenie ciągów XML może prowadzić do powstania nieprawidłowych dokumentów.
- Sprawdź wiersze i wartości po konwersji. Porównaj ze źródłem liczbę rekordów, nagłówki, przykładowe pola ujęte w cudzysłowy, podziały wierszy, puste wartości, daty, wartości dziesiętne i znaki spoza ASCII. Duże pliki mogą również wymagać konwertera strumieniowego zamiast wczytywania całego zbioru danych do pamięci.
Porównanie formatu CSV z XML
Jak formaty CSV i XML wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .CSV Comma-Separated Values | .XML Extensible Markup Language |
|---|---|---|
| Czytelny tekstowo | Tak | Tak |
| Typy danych | Typowane | Typowane |
| Zagnieżdżone struktury | Nie | Tak |
| Formuły | Nie | Nie |
| Wiele tabel lub arkuszy | Nie | — |
| Typowy rozmiar pliku | Mały | Mały |
| Otwarty standard | Tak | Tak |
| Najlepszy do | Wymiana danych | Wymiana danych |
| Wprowadzono | — | 1998 |
| Twórca | — | W3C |
| Typ MIME | text/csv | application/xml |
Sugerowane oprogramowanie i linki: konwertery csv na xml
Najczęściej zadawane pytania
Czy konwerter CSV do XML jest darmowy?
Tak, konwersja CSV do XML na 101convert.com jest całkowicie darmowa. Nie wymaga rejestracji, adresu e-mail ani instalacji.
Jak duży może być mój plik CSV?
Możesz przesłać pliki CSV o rozmiarze do 300 MB i przekonwertować do 100 plików jednocześnie w jednej partii.
Co dzieje się z przesłanymi plikami?
Pliki są przetwarzane automatycznie i usuwane z naszych serwerów kilka minut po konwersji. Nigdy nie przeglądamy ani nie udostępniamy Twoich plików.
Czy muszę instalować oprogramowanie, aby przekonwertować CSV do XML?
Nie. Konwersja CSV do XML odbywa się całkowicie online w przeglądarce i działa w systemach Windows, Mac, Linux, Android i iPhone.
Konwersja nie powiodła się?
W większości przypadków przyczyną jest nieprawidłowy format pliku. Prześlij prawidłowy plik CSV dla tej konwersji z CSV do XML. Czasami problem może również występować po naszej stronie. Analizujemy powtarzające się nieudane konwersje i wyłączamy lub naprawiamy konwerter, jeśli wykryjemy usterkę.