Я пытаюсь взять биологические данные, сохраненные в формате .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. Я ознакомился со всеми основными терминами Дарвина, базовым синтаксисом и правилами 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>]