как я могу проанализировать xml в csv и сохранить его в R?

#r #xml #dataframe

Вопрос:

Как я могу проанализировать свои xml-данные и сохранить их в формате csv в R? Пожалуйста, смотрите ввод и вывод ниже

Входные данные =

 <patient id="559" weight="99" insulin_type="Novalog">
<glu_level>
<event ts="18-01-2022 00:01:00" value="179"/>
<event ts="18-01-2022 00:06:00" value="183"/>
<event ts="18-01-2022 00:11:00" value="187"/>
</glu_level>
<finger_stick>
<event ts="07-12-2021 01:03:20" value="107"/>
<event ts="07-12-2021 01:08:04" value="107"/>
<event ts="07-12-2021 05:08:14" value="191"/>
<event ts="07-12-2021 11:21:49" value="586"/>
</finger_stick>
</patient>

 

Выход1 =

время glu_уровень
18-01-2022 00:01:00 179
18-01-2022 00:06:00 183
18-01-2022 00:11:00 187

Ответ №1:

Мы можем прочитать файл read_xml , извлечь атрибуты после фильтрации для «glu_level»

 library(xml2)
library(dplyr)
dat <- read_xml("input.xml")
glu <- dat %>% 
          xml_find_all("//glu_level/event") 
out <- tibble(time = glu %>% 
                xml_attr('ts'), glu_level = glu %>% 
                                          xml_attr('value'))         
 

-выход

 > out
# A tibble: 3 × 2
  time                glu_level
  <chr>               <chr>    
1 18-01-2022 00:01:00 179      
2 18-01-2022 00:06:00 183      
3 18-01-2022 00:11:00 187     
 

Комментарии:

1. Я сделал это, большое спасибо за вашу помощь.