Как я могу преобразовать файл CSV в XML?
Есть ли программное обеспечение для Ubuntu?
conversion
xml
csv
Витор Мазуко
источник
источник
Ответы:
На веб-сайте сообщества по конвертации есть ссылка на инструмент командной строки csv2xml . Поскольку он не поддерживается, вы можете выбрать другой вариант.
Также упоминается инструмент Java под названием csv2xml (предупреждение: сайт на немецком языке) и инструмент командной строки с именем ff-extractor .
Ссылка также содержит ссылки на Python, Perl, PHP, XSLT, но это означает, что вам нужно кодировать конвертер самостоятельно.
источник
Когда вы знаете формат
csv
файла и структуру, которая вам нужна вxml
файле, довольно просто создать сценарий, который может обработать преобразование.Возьмите файл
simple.csv
:Вы можете создать следующий
xml
файл:С помощью следующего скрипта:
Даже если вы никогда не кодировали раньше, я думаю, что это должно быть легко использовать и изменять. Файл читается построчно в
while
цикле.IFS
является внутренним спецификатором поля.IFS=$','
Заявляет , что значение разделителя полей является запятой. Это стандартно для файла CSV, но при необходимости его можно изменить в соответствии с форматом входного файла.-r
Аргументread
команды говорит это , чтобы рассматривать любые обратные слэша в файл как часть ваших данных , а не как побег для следующего специального символа.-a arry
Аргумент помещает каждый столбец файла в массив ( с именемarry
). Столбцы в этом примере: имя, возраст, страна. Другими словами значения между запятыми. Таким образом, каждый столбец в строке хранится в массиве.Затем нужный текст
xml
просто оборачивается вокруг значений иxml
строка добавляется в выходной файл с помощьюecho
.источник
while IFS=$',' read -r -a arry
, это полезно для другого. Спасибо."Somename, Jack"
местеJack
во входном файле?Довольно удобное для пользователя (т. Е. Простое для таких, как я) решение проблемы преобразования CSV в XML заключается в использовании хорошего кроссплатформенного редактора XML, в который встроена эта функция. (Я использовал его под Ubuntu и Mac OSX 10.10.5; у него также есть исполняемый файл Windows.)
XMLSpear
Как уже упоминалось, это редактор XML, но он включает в себя «импорт» CSV-to-XML (и Excel-to-XML) в своем главном меню:
Он конвертировал для меня 31-мегабайтный CSV-файл (дамп из базы данных библиотеки из 20 000 записей) примерно за 15 секунд, что дало мне правильно сформированный XML-файл для сохранения и манипулирования.
В качестве редактора у него есть много других полезных функций (подробности по ссылке выше). Я не могу найти упоминание о какой-либо лицензии для него, но это включено в «README»:
В файле readme также содержится полезное содержимое файла .desktop.
Хорошо ли работает для меня под Ubuntu 18.04 LTS (Gnome).
источник
Я большой поклонник,
BaseX
который, кажется, имеет возможность импорта:http://docs.basex.org/wiki/CSV_Module
Можно отметить, что, похоже, проще использовать веб-приложение:
https://webapps.stackexchange.com/q/123959/24327
Что составляет плагин или расширение для браузера, который работает с листами Google.
Я чувствую вашу боль, потому что это, казалось бы, простая утилита, которая должна быть доступна через apt.
источник
Я бы посоветовал вам или кому-то написать коды на Python. Python легко выучить и легко решить вашу проблему. У этого есть и модуль CSV и модули XML . Мое предложение учитывает, что вам может потребоваться иметь собственные имена для элементов XML или иметь другие сложные требования (например, преобразование последнего столбца CSV в атрибут последнего, кроме одного столбца).
Есть множество учебников онлайн о Python.
источник