Я пытаюсь взять биологические данные, сохраненные в формате .csv, и преобразовать их в определенный формат xml, установленный стандартами Darwin Core (расширение Dublin Core). Данные располагаются в строках записей наблюдений с заголовками в первой строке. Мне нужно переупаковать данные со стандартными тегами XML Darwin Core, используя базовое дерево/схему XML. Цель состоит в том, чтобы стандартизировать данные и сделать их легкодоступными для загрузки в любую программу базы данных.
Я биолог, поэтому я новичок в компьютерном программировании и программировании. Я хотел бы написать что-то в R или Excel, которое может автоматически выполнять этот шаг переупаковки, чтобы мне не приходилось вручную повторно вводить тысячи записей.
Я попытался использовать инструменты разработчика в excel 365, чтобы сохранить .csv в виде файла .xml, но похоже, что мне сначала придется разработать дерево или схему xml в программе текстового редактора. Кроме того, похоже, что надстройки xml, которые я бы использовал, больше не доступны. Я скачал бесплатный текстовый редактор Brackets build 1.14, чтобы написать простой xml. У меня также есть RStudio версии 1.1.419 с пакетом XML, загруженным для потенциального написания скрипта с R версии 3.4.3. Я прочитал все термины Darwin Core, базовый синтаксис и правила XML, но не знаю, с чего начать.
Это пример данных в простом формате .csv:
type,institutionCode,collectionCode,catalogNumber,scientificName,individualCount,datasetID
PhysicalObject,ANSP,PH,123,"Cryptantha gypsophila Reveal & C.R. Broome",12,urn:lsid:tim.lsid.tdwg.org:collections:1
PhysicalObject,ANSP,PH,124,"Buxbaumia piperi",2,urn:lsid:tim.lsid.tdwg.org:collections:1
Вот как должны выглядеть записи в конечном продукте:
[<?xml version="1.0"?>
<dwr:SimpleDarwinRecordSet
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dwc="http://rs.tdwg.org/dwc/terms/"
xmlns:dwr="http://rs.tdwg.org/dwc/xsd/simpledarwincore/">
<dwr:SimpleDarwinRecord>
<dcterms:type>PhysicalObject</dcterms:type>
<dwc:institutionCode>ANSP</dwc:institutionCode>
<dwc:collectionCode>PH</dwc:collectionCode>
<dwc:catalogNumber>123</dwc:catalogNumber>
<dwc:scientificName>Cryptantha gypsophila reveal & C.R. Boome</dwc:scientificName>
<dwc:individualCount>12</dwc:individualCount>
<dwc:datasetID>urn:lsid:tim.lsid.tdwg.org:collections:1</dwc:datasetID>
</dwr:SimpleDarwinRecord>
<dwr:SimpleDarwinRecord>
<dcterms:type>PhysicalObject</dcterms:type>
<dwc:institutionCode>ANSP</dwc:institutionCode>
<dwc:collectionCode>PH</dwc:collectionCode>
<dwc:catalogNumber>124</dwc:catalogNumber>
<dwc:scientificName>Buxbaumia piperi</dwc:scientificName>
<dwc:individualCount>2</dwc:individualCount>
<dwc:datasetID>urn:lsid:tim.lsid.tdwg.org:collections:1</dwc:datasetID>
</dwr:SimpleDarwinRecord>
</dwr:SimpleDarwinRecordSet>]