Какой лучший способ конвертировать JSON в фрейм данных? [закрыто]Python

Программы на Python
Ответить
Anonymous
 Какой лучший способ конвертировать JSON в фрейм данных? [закрыто]

Сообщение Anonymous »

У меня вопрос о том, как лучше всего преобразовать этот JSON в Dataframe:
Данные JSON:
{
"myschema": {
"accounts": {
"load_type": "daily",
"fields": {
"id": "nvarchar2",
"isdeleted": "number",
"master": "nvarchar2",
"name": "nvarchar2"
}
},
"customer": {
"load_type": "daily",
"fields": {
"id": "nvarchar2",
"accountid": "nvarchar2",
"usergroupid": "nvarchar2"
}
},
"resources": {
"load_type": "daily",
"fields": {
"id": "nvarchar2",
"isdeleted": "number",
"name": "nvarchar2",
"currency": "nvarchar2"
}
},
....
....
}
}

Результат должен быть примерно таким:
TABLE |LOAD_TYPE |COLUMN |COLUMN_TYPE |
+-----------+-----------+-----------------+--------------+
| accounts |daily |id |NVARCHAR2 |
| accounts |daily |master |NVARCHAR2 |
| accounts |daily |name |NVARCHAR2 |
| customer |daily |id |NVARCHAR2 |
| customer |daily |accountid |NVARCHAR2 |
| customer |daily |usergroupid |NVARCHAR2 |
| resources |daily |id |NVARCHAR2 |
| resources |daily |name |NVARCHAR2 |
| resources |daily |currency |NVARCHAR2 |
+-----------+-----------+-----------------+--------------+

Я попробовал следующий код:
df2 = spark.read.option("multiLine", "true").json(json_s3_path)
df2.printSchema()

root
|-- mySchema: struct (nullable = true)
| |-- accounts: struct (nullable = true)
| | |-- FIELDS: struct (nullable = true)
.....
.....

а также следующий код:
df3 = spark.read.format("json") \
.option("multiLine", True) \
.option("header",True) \
.option("inferschema",True) \
.load(json_s3_path) \

и результат:
+----------------------------------------------------------------------------------------------------------------------------------------------------+
|mySchema |
+----------------------------------------------------------------------------------------------------------------------------------------------------+
|{{{NVARCHAR2, NUMBER, NVARCHAR2, NVARCHAR2}, Delta}, {{NVARCHAR2, NVARCHAR2, NVARCHAR2}, Delta}, {{NVARCHAR2, NVARCHAR2, NUMBER, NVARCHAR2}, Delta}}|
+----------------------------------------------------------------------------------------------------------------------------------------------------+


Подробнее здесь: https://stackoverflow.com/questions/790 ... -dataframe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»