Преобразуйте объект json в фрейм данных pyspark

#python #arrays #json #dataframe #pyspark

Вопрос:

Я имею дело со старым файлом формата json . Ниже приведен формат JSON . Как преобразовать этот json в фрейм данных Pyspark.

Ниже приведен пример ввода:

 { 
  [ 
    {'key':'id','value':'1'},
    {'key':'First Name','value':'Saurabh'},
    {'key':'Email','value':'saurab4562gmail.com'}
  ]
}
 

Пример вывода:

 ID  First Name      Email
1   Saurabh  saurab4562gmail.com
 

Спасибо за помощь!

Комментарии:

1. Может ли файл JSON содержать несколько записей? Если да, то как будет выглядеть файл JSON?

2. @NishantChaudhary ,Фактический файл json очень сложный . на данный момент вы можете рассматривать приведенный выше фрагмент ввода как файл json. Спасибо

Ответ №1:

Ваш пример JSON недействителен, поэтому я предполагаю, что у вас действительно есть список списков.

 input_data = [
  [ 
    {'key':'id','value':'1'},
    {'key':'First Name','value':'Saurabh'},
    {'key':'Email','value':'saurab4562gmail.com'}
  ],
  [
    {'key':'id','value':'2'},
    {'key':'First Name','value':'David'},
    {'key':'Email','value':'justone@gmail.com'}
  ]
]

data_for_pyspark = [
    {r["key"]: r["value"] for r in record}
    for record in input_data
]

spark_df = spark.createDataFrame(data_for_pyspark)