Как создать Pandas DataFrame из ключей из этого файла JSON? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть CSV-файл, содержащий данные в структуре JSON, и я хочу создать из него фрейм данных таким образом, чтобы все ключи стали именами столбцов и соответствовали значениям соответствующих строк.Вот файл csv:

                                              events
0  {'id': 1245067280.0, 'eventId': 2, 'minute': 0
1  {'id': 1613373260.0, 'eventId': 2, 'minute': 0
2  {'id': 1560174527.0, 'eventId': 3, 'minute': 0
3  {'id': 1470954990.0, 'eventId': 4, 'minute': 0
4  {'id': 1628268979.0, 'eventId': 5, 'minute': 0

И вот что я хочу создать из этого:

            id  eventId minute
0 1245067280.0  2        0
1 1613373260.0  2        0
2 1560174527.0  3        0
3 1470954990.0  4        0
4 1628268979.0  5        0

Есть больше пар ключ-значение, но для краткости, у меня есть тольковключая три, id, eventId и minute

Я уже пробовал df.from_records(), но это ничего не изменило.Есть ли функция Pandas / JSON, которая позволяет это изменение легко или люди пишут код для этого?

Я прошел много ответов здесь перед публикацией и не смог найти ничего конкретного для этого.В большинстве ответов говорится о создании Dictionary из файла JSON и последующем преобразовании в Series.

1 Ответ

0 голосов
/ 07 мая 2019

Вы можете открыть файл и преобразовать строки в список диктовок (синтаксический анализ json строк), прежде чем помещать все в DataFrame, например ::

import csv
import json

with open('path_to_csv', 'r') as csvfile:
    reader = csv.reader(csvfile, delimiter=' ') # Assuming values in your file are separated with a space
    next(reader) # Skip header row
    records = [json.loads(row[1]) for row in reader] # Assuming that json strings are in the second column of the csv file

df = pd.DataFrame(records)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...