Python 如何使用推断模式读取列名中带有点的JSON文件(Spark/Pyspark)?

Python 如何使用推断模式读取列名中带有点的JSON文件(Spark/Pyspark)?,python,json,apache-spark,pyspark,Python,Json,Apache Spark,Pyspark,我正在动态导入JSON文件(并行地向脚本发送多个文件名),其中一个文件的字段名中包含点 当它被读入数据帧进行处理时,模式推理将其分解为嵌套结构(即;“a.B.C”->a[B[C]]) 有没有一种方法可以在不打断包含点的列名的情况下从文件中读取列 我知道倒勾可以限定列名,但由于我无法在读取JSON文件之前显式定义模式,因此我无法这样做 df=sqlContext.read.option('multiline','true').json() df.printSchema() 我看到“采购订单重置成

我正在动态导入JSON文件(并行地向脚本发送多个文件名),其中一个文件的字段名中包含点

当它被读入数据帧进行处理时,模式推理将其分解为嵌套结构(即;“a.B.C”->a[B[C]])

有没有一种方法可以在不打断包含点的列名的情况下从文件中读取列

我知道倒勾可以限定列名,但由于我无法在读取JSON文件之前显式定义模式,因此我无法这样做

df=sqlContext.read.option('multiline','true').json()
df.printSchema()
我看到“采购订单重置成本”字段变成:

|--P:struct(nullable=true)
||--O:struct(nullable=true)
|| |--重置成本:双倍(可空=真)

请发布您的样本json数据。我认为这些数据与问题无关。出于安全原因,我也不能发布它。问题的核心是,我必须从JSON文件中读取一个名为“P.O.重置成本”的字段,但不能通过自定义模式调用它,因此我如何动态地检查字段名中的点。请发布您的JSON示例数据。我认为数据与问题无关。出于安全原因,我也不能发布它。问题的核心是,我必须从JSON文件中读取一个名为“P.O.Replacement Cost”的字段,但不能通过自定义模式调用它,因此如何动态地检查字段名中的点。