通过pyspark.sql.dataframe将XML数据转换为pandas dataframe

时间:2019-03-15 15:21:58

标签: python pandas dataframe pyspark azure-databricks

我的背景:长期使用SAS和R的用户,试图弄清楚如何使用Python和Spark在Azure Databricks中做一些基本的事情。很抱歉,下面没有可复制的示例;我不确定如何创建这样的人。

我正在尝试从复杂的XML文件中读取数据。我已经达到了这一点,在这里我有一个pyspark.sql.dataframe(称为xml1),它具有以下排列方式:

RESPONSE:array
  element:array
    element:struct
      VALUE:string
      VARNAME:string

xml1数据帧如下:

[Row(RESPONSE=[[Row(VALUE='No', VARNAME='PROV_U'), Row(VALUE='Included', VARNAME='ADJSAMP'), Row(VALUE='65', VARNAME='AGE'), ...

当我使用xml2 = xml1.toPandas()时,我得到了:

                      RESPONSE
0   [[(No, PROV_U), (Included, ADJSAMP), (65, AGE)...
1   [[(Included, ADJSAMP), (71, AGE), ...
...

至少,我想将其转换为具有两列VARNAME和VALUE的Pandas数据框。更好的解决方案是使用以VARNAME值命名的列(例如PROV_U,ADJSAMP,AGE)的数据帧,每个RESPONSE一行。在中间步骤中使用正确的Python术语名称的有用提示将不胜感激!

1 个答案:

答案 0 :(得分:-1)