Python Превратить столбец DF из json в отдельный DF

Всем привет, в файле CSV один из столбцов записан в формате jsonl, подскажите пожалуйста, как превратить его в удобоваримый формат.

Пример:

date json
1 {"ad_type":"banner","placement":"a","view_index":1,}
2 {"ad_type":"banner","placement":"b","view_index":1,}

Нужно:

date ad_type placment view_index
1 banner a 1
2 banner b 1

Ответы (1 шт):

Автор решения: Namerek

data.csv

date;json
1;{"ad_type":"banner","placement":"a","view_index":1,}
2;{"ad_type":"banner","placement":"a","view_index":1,}

import pandas as pd
import json

df = pd.read_csv('data.csv', delimiter=';')

result = df.join(
    pd.DataFrame(
        map(
            json.loads,
            map(
                # Не должно тут в json быть запятой
                # поэтому если она там у вас действительно есть
                # нужно ее убрать
                lambda x: x.replace(',}', '}'),
                df.pop('json').iloc
            )
        )
    )

)

введите сюда описание изображения

Ну или даже вот так посимпатишней будет

import pandas as pd
import json

df = pd.read_csv('data.csv', delimiter=';')
result = df.join(
    pd.json_normalize(
        df.pop('json').apply(
            str.replace, args=(',}', '}')
        ).apply(
            json.loads
        )
    )
)
→ Ссылка