Невозможно создать иерархический rowTag при преобразовании Dataframe в XML с использованием pyspark - PullRequest
0 голосов
/ 15 ноября 2018

Я использую pyspark для преобразования данных в xml-файл.Ниже приведен мой примерный фрейм данных (df) -

Value     Year    Month   Day
------------------------------
con      2018     10      5    
tet      2017     7      14    
eco      2010     12      6

Выходной XML будет: -

<DataValue>
  <DataList>
     <Value> con </Value>
     <TimeStamp>
         <Year> 2018 </Year> 
         <Month> 10 </Month>
         <Day> 5 </Day>
     </TimeStamp>
   </DataList>

   <DataList>
     <Value> tet </Value>
     <TimeStamp>
         <Year> 2017 </Year> 
         <Month> 7 </Month>
         <Day> 14 </Day>
     </TimeStamp>
   </DataList>

   <DataList>
     <Value> eco </Value>
     <TimeStamp>
         <Year> 2010 </Year> 
         <Month> 12 </Month>
         <Day> 6 </Day>
     </TimeStamp>
   </DataList>
</DataValue>

Я могу создать XML, но не могу сгенерировать rowTag TimeStamp подrowtag DataList.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 01 февраля 2019

Я могу решить вышеупомянутую проблему.Обратите внимание, что мы можем создать только корневой тег и теги строк.Но нет прямого подхода к созданию вложенных тегов внутри тегов строки.Если вы хотите создать какой-либо дополнительный вложенный тег под тегом строки, вы должны создать структуру и сохранить ее в столбце данных.В моем случае, я хочу, чтобы метка Timestamp содержала год, месяц и день.Итак, я определил схему для этих 3 полей и создал массив с этой схемой и добавил его в свой фрейм данных.Наконец, когда я конвертировал этот конкретный столбец (который содержит массив [yyyy, mm, dd]) в XML, он появился как суб-тег.Надеюсь, эта идея поможет.

...