Bagaimana saya bisa mengkonversi file CSV ke XML?
Apakah ada perangkat lunak untuk Ubuntu?
conversion
xml
csv
Vitor Mazuco
sumber
sumber
Jawaban:
Di situs komunitas tentang konversi ada tautan ke alat baris perintah yang disebut csv2xml . Karena tidak terawat, Anda mungkin ingin memilih opsi lain.
Ada juga menyebutkan alat java yang disebut csv2xml (peringatan: situs web dalam bahasa Jerman) dan alat baris perintah yang disebut ff-extractor .
Tautan ini juga memiliki referensi ke Python, Perl, PHP, XSLT tetapi itu berarti Anda harus mengkodekan konverter sendiri.
sumber
Ketika Anda mengetahui format
csv
file dan struktur yang Anda butuhkan dalamxml
file tersebut, cukup mudah untuk membuat skrip yang dapat menangani konversi.Ambil file
simple.csv
:Anda dapat membuat
xml
file berikut :Dengan skrip berikut:
Bahkan jika Anda belum pernah berkode sebelumnya, saya pikir ini harus mudah digunakan dan dimodifikasi. File dibaca baris demi baris dalam
while
loop.IFS
adalah specifier bidang internal. YangIFS=$','
menyatakan bahwa nilai pemisah bidang adalah koma. Ini standar untuk file CSV, tetapi dapat diubah sesuai kebutuhan untuk mencocokkan format file input.The
-r
argumen keread
perintah mengatakan itu untuk mengobati backslashes dalam file Anda sebagai bagian dari data Anda daripada sebagai pelarian untuk karakter khusus berikut.The
-a arry
Argumen menempatkan setiap kolom file Anda ke dalam sebuah array (bernamaarry
). Kolom dalam contoh ini adalah nama, umur, negara. Dengan kata lain nilai-nilai di antara koma. Jadi setiap kolom di baris disimpan dalam array.Kemudian teks yang diperlukan untuk
xml
hanya melilit nilai-nilai danxml
baris ditambahkan ke file output denganecho
.sumber
while IFS=$',' read -r -a arry
, itu berguna untuk yang lain. Terima kasih."Somename, Jack"
tempatJack
dalam file input?Solusi yang cukup ramah pengguna (yaitu, mudah untuk numpties seperti saya) untuk tantangan konversi CSV ke XML adalah dengan menggunakan editor XML lintas-platform yang bagus yang memiliki fitur bawaan . (Saya sudah menggunakannya di Ubuntu dan Mac OSX 10.10.5; ini juga memiliki Windows yang dapat dieksekusi.)
XMLSpear
Seperti yang disebutkan, ini adalah editor XML, tetapi termasuk "impor" CSV-to-XML (dan Excel-to-XML) pada menu utamanya:
Itu dikonversi file CSV 31Mb untuk saya (dump dari database perpustakaan 20.000 entri) dalam waktu sekitar 15 detik, memberi saya file XML yang terbentuk dengan baik untuk menyimpan dan memanipulasi.
Sebagai editor, ia memiliki banyak fitur sambutan lainnya (dirinci di tautan, di atas). Saya tidak dapat menemukan penyebutan lisensi untuk itu, tetapi ini termasuk dalam "README":
Readme juga membantu menyertakan konten untuk file .desktop.
Melakukan pekerjaan dengan baik untuk saya di bawah Ubuntu 18.04 LTS (Gnome).
sumber
Saya penggemar berat
BaseX
yang tampaknya memiliki kemampuan impor:http://docs.basex.org/wiki/CSV_Module
Mungkin menunjukkan bahwa tampaknya, lebih mudah untuk menggunakan aplikasi web:
https://webapps.stackexchange.com/q/123959/24327
Yang berarti plugin atau ekstensi ke browser yang bekerja dengan lembar google.
Saya merasakan rasa sakit Anda karena ini adalah utilitas yang tampaknya sederhana yang seharusnya tersedia melalui apt.
sumber
Saya menyarankan Anda atau seseorang menulis kode dengan Python. Python mudah dipelajari dan menyelesaikan masalah Anda dengan mudah. Ini memiliki modul CSV dan modul XML . Saran saya mempertimbangkan bahwa Anda mungkin perlu memiliki nama Anda sendiri untuk elemen XML atau memiliki persyaratan kompleks lainnya (seperti mengubah kolom CSV terakhir menjadi atribut kolom terakhir tetapi satu).
Ada banyak tutorial online tentang Python.
sumber