Достаточно быстрый и простой способ преобразования данных CSV файла в XML, в командной строке Ubuntu возможен с помощью программы Flat File Extractor.
$ sudo apt-get install ffe
$ sudo apt-get install ffe
Основу простого преобразования данных CSV to XML, составляет схема сопоставления полей, которая задается в конфигурационном файле csv2xml.fferc.
Пример: дан csv-файл pinout.csv из двух полей (номер вывода и его функция) разделённых точкой с запятой.
structure csv2xml {
type separated ;
output xml
record data {
field pin
field func
}
}
output xml {
file_header "<?xml version=\"1.0\" encoding=\"OTF-8\"?>\n"
data "<%n>%t</%n>\n"
record_header "<%r>\n"
record_trailer "</%r>\n"
indent " "
}
$ ffe -o pinout.xml -c csv2xml.fferc -s csv2xml pinout.csv
получиться, что-то в этом роде:
...
<data>
<pin>PA0</pin>
<func>DATA0</func>
</data>
<data>
<pin>PA1</pin>
<func>DATA1</func>
</data>
...
Полученный файл уже можно обрабатывать автоматически XSLT процессором.
$ xsltproc template.xsl pinout.xml -o result.xml
Примечание: как задать табуляцию в виде разделителя, у меня не получилось, поэтому csv-файл с табуляциями (символ \t) был преобразован в файл с разделителями - точка с запятой.
cat pinoutsrc.csv | cut -f 1,8 --output-delimiter=';' > pinout.csv
※※※
Ресурсы
2. Flat file extractor. http://ff-extractor.sourceforge.net/
※※※
※
Комментариев нет:
Отправить комментарий