Создание DataFrame из списка словарей, которые имеют вложенные списки для своих значений - PullRequest
0 голосов
/ 18 апреля 2020

Мне не удалось найти аналогичный ответ на мою проблему, поэтому здесь мы go: я просканировал веб-сайт и сохранил данные в файле CSV в следующем формате:

data = [{"has_media": "false", "tags": ["e", "x", "y", "s", "f", "f"], "img_urls": [], "is_replied": "false", "is_reply_to": "false", "likes": 0, "links": [], "parent_id": "", "replies": 0, "reply_to_users": [], "comments": 1, "screen_name": "name", "text": "This is plain text retrieved from the webpage and a link http://ht.ly/25DQR and a hashtag #ecar", "text_html": "<p class=\"><s>#</s><b>electric</b></a></p>", "timestamp": "2010-08-01T09:37:20", "timestamp_epochs": 3749793792, "_id": "28829932", "_url": "/user/status/17479367564", "user_id": "1038384584", "username": "username", "video_url": ""}, {"has_media": "false", "hashtags": ["e", "o", "y", "p", "r", "s"], "img_urls": [], "is_replied": "false", "is_reply_to": "false", "likes": 0, "links": [], "parent_id": "", "replies": 0, "reply_to_users": [], "comments": 1, "screen_name": "user", "text": "New cooperative project: This is plain text retrieved from the webpage and a link http://ht.ly/25DQR and a hashtag #hello", "text_html": "<p class=\</b></a></p>", "timestamp": "2011-05-01T09:50:11", "timestamp_epochs": 18734839, "_id": "2982892", "_url": "/user/status/83982893", "user_id": "29983882", "username": "user", "video_url": ""}]

Я хочу создать фрейм данных, где каждый словарь представляет собой новую строку и каждый ключ представляет столбец .

Я пробовал это, однако он дает мне только один столбец и, кажется, не распознает словари.

import pandas as pd
file = data.split(',')
pd.DataFrame.from_dict(file)

Помощь очень ценится, так как я новичок в кодировании и мне может понадобиться немного помочь стать лучше в этом.

Спасибо!

1 Ответ

0 голосов
/ 18 апреля 2020

Это легко. Вы можете использовать:

import pandas as pd

data = [{"has_media": "false", "tags": ["e", "x", "y", "s", "f", "f"], "img_urls": [], "is_replied": "false", "is_reply_to": "false", "likes": 0, "links": [], "parent_id": "", "replies": 0, "reply_to_users": [], "comments": 1, "screen_name": "name", "text": "This is plain text retrieved from the webpage and a link http://ht.ly/25DQR and a hashtag #ecar", "text_html": "<p class=\"><s>#</s><b>electric</b></a></p>", "timestamp": "2010-08-01T09:37:20", "timestamp_epochs": 3749793792, "_id": "28829932", "_url": "/user/status/17479367564", "user_id": "1038384584", "username": "username", "video_url": ""}, {"has_media": "false", "hashtags": ["e", "o", "y", "p", "r", "s"], "img_urls": [], "is_replied": "false", "is_reply_to": "false", "likes": 0, "links": [], "parent_id": "", "replies": 0, "reply_to_users": [], "comments": 1, "screen_name": "user", "text": "New cooperative project: This is plain text retrieved from the webpage and a link http://ht.ly/25DQR and a hashtag #hello", "text_html": "<p class=\</b></a></p>", "timestamp": "2011-05-01T09:50:11", "timestamp_epochs": 18734839, "_id": "2982892", "_url": "/user/status/83982893", "user_id": "29983882", "username": "user", "video_url": ""}]

df = pd.DataFrame(data)

Кстати, вы также можете скачать его из своего файла, используя:

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