为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Pyspark 将 XML 转换为数据框

使用 Pyspark 将 XML 转换为数据框

湖上湖 2021-06-11 18:05:58
我正在尝试废弃一个 XML 文件并从 XML 文件上的标签创建一个数据框。我使用 pyspark 处理 Databricks。XML文件:<?xml version="1.0" encoding="UTF-8"?><note>  <shorttitle>shorttitle_1</shorttitle>  <shorttitle>shorttitle_2</shorttitle>  <shorttitle>shorttitle_3</shorttitle>  <shorttitle>shorttitle_4</shorttitle></note>我的代码似乎从页面中删除了 XML 并从标签创建了一个列表,但是当我创建我的数据框并尝试输入所述列表时,我只看到一个包含空值的数据框。代码:from pyspark.sql.types import *from pyspark.sql.functions import *import requestsfrom bs4 import BeautifulSoupres = requests.get("http://files.fakeaddress.com/files01.xml")soup = BeautifulSoup(res.content,'html.parser')short_title = soup.find_all('shorttitle')[0:2]field = [StructField("Short_Title",StringType(), True)]schema = StructType(field)df = spark.createDataFrame(short_title, schema)输出:+-----------+|Short_Title|+-----------+|       null||       null|+-----------+想要的输出:+-------------+|Short_Title  |+-------------+|shorttitle_1 ||shorttitle_2 |+-------------+
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您可以使用Spark-XML包,它直接从您的 XML 文件创建一个 Spark 数据帧,而无需任何进一步的麻烦。当您在 XML 文件中嵌套键时,它只会变得更加复杂。

使用他们的 maven 存储库在 Databricks 集群上安装包相当简单,他们提供了坐标。但是,我不确定该软件包是否仍在更新。


查看完整回答
反对 回复 2021-06-16
  • 2 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信