Работа с JSON данными Twitter - PullRequest
0 голосов
/ 25 марта 2020

Я хотел бы прочитать несколько JSON файлов, которые содержат данные, которые я удалил. Из этих файлов мне нужен только определенный ключ, пара значений (текст твита). Поскольку у меня есть несколько файлов, я хотел бы извлечь все текстовые поля и сохранить их в CSV-файле, содержащем столбец Tweet Text.

Обратите внимание, что каждый файл содержит один фрагмент данных, я хотел бы поместить их все вместе в CSV-файле.

Ниже дается представление о том, как выглядят данные JSON:

{
    "nbr_favorite": X,
    "is_reply": XX,
    "user_id": "XXXXX",
    "usernameTweet": "XXXXXX",
    "text": "XXXXXX",
    "nbr_retweet": XX,
    "nbr_reply": X,
    "datetime": "XXXXXX",
    "url": "XXXXXX",
    "ID": "XXXXXX",
    "is_retweet": XXX
}

1 Ответ

1 голос
/ 25 марта 2020

Вы можете использовать json.load, чтобы проанализировать файл JSON, содержащий ответ от API Twitter, в словарь python, после чего вы можете получить искомые элементы в в этом случае "text":

response.json:

{
    "nbr_favorite": 1,
    "is_reply": 12,
    "user_id": "XXXXX",
    "usernameTweet": "XXXXXX",
    "text": "My first tweet",
    "nbr_retweet": 1,
    "nbr_reply": 1,
    "datetime": "XXXXXX",
    "url": "XXXXXX",
    "ID": "XXXXXX",
    "is_retweet": true
}
import json

with open("response.json") as fh:
    json_dict = json.load(fh)
print(json_dict["text"])

Выходы:

"My first tweet"

Вы можете l oop над JSON файлы для записи текста твита в файл CSV:

import csv
import json

response_files = ["response.json"]
with open("output_file.csv", "w") as csv_fh:
    writer = csv.writer(csv_fh)

    for response_file in response_files:
        with open(response_file) as fh:
            json_dict = json.load(fh)

        writer.writerow([json_dict["user_id"], json_dict["text"]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...