парсинг XML в фрейм данных Pyspark - PullRequest
0 голосов
/ 07 марта 2020

У меня есть следующий XML документ, и я хочу преобразовать его в фрейм данных pyspark, как показано ниже.

Столбец 'counter' должен содержать элементы, содержащие только одно значение, а столбец 'pdfcounters' равен столбец, который содержит несколько значений. Я немного новичок в Pyspark, поэтому любая помощь будет оценена.

pyspark dataframe

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
<fileHeader fileFormatVersion="32.435 V10.0"
          vendorName="Ericsson AB">
<fileSender elementType="RadioNode"/>
<measCollec beginTime="2020-02-20T11:45:00+00:00"/>
 </fileHeader>
 <measData>
 <managedElement swVersion="CXP9024418_6 R80E66"/>
 <measInfo measInfoId="PM=1,PmGroup=FieldReplaceableUnit">
  <job jobId="PREDEF_Nc"/>
  <granPeriod duration="PT900S"
              endTime="2020-02-20T12:00:00+00:00"/>
  <repPeriod duration="PT900S"/>
  <measType p="1">pmPowerFailure</measType>
  <measType p="2">pmUnitTemperatureLevel</measType>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=1">
    <r p="1"> </r>
    <r p="2">3,3,3</r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=2">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=3">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=4">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=5">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=6">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
  <measValue measObjLdn="ManagedElement=1,Equipment=1,FieldReplaceableUnit=7">
    <r p="1">0</r>
    <r p="2"> , , </r>
  </measValue>
</measInfo>
<measInfo measInfoId="PM=1,PmGroup=Climate">
  <job jobId="PREDEF_Apc"/>
  <granPeriod duration="PT900S"
              endTime="2020-02-20T12:00:00+00:00"/>
  <repPeriod duration="PT900S"/>
  <measType p="1">pmCabinetFanSpeed</measType>
  <measType p="2">pmCabinetFanSpeedExternal</measType>
  <measType p="3">pmCabinetTemperature</measType>
  <measType p="4">pmSpmBarometricAirPressure</measType>
  <measType p="5">pmSpmDifferentialAirPressure</measType>
  <measValue measObjLdn="ManagedElement=1,EquipmentSupportFunction=1,Climate=1">
    <r p="1">35,35,35</r>
    <r p="2">30,30,29</r>
    <r p="3">1032,1032,1032</r>
    <r p="4"> </r>
    <r p="5"> </r>
  </measValue>
  </measInfo>
  </measData>
  <fileFooter>
 <measCollec endTime="2020-02-20T12:00:00+00:00"/>
 </fileFooter>
 </measCollecFile>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...