Работа с данными JSON Twitter

Я хотел бы прочитать несколько файлов 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 ответ


Вы можете использовать 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"

Вы можете зациклить свои файлы 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"]])

Есть идеи?

10000