首页 > 解决方案 > 如何获取一个 JSON 文件而不是数千个?

问题描述

我正在使用 TweetScraper 来抓取带有某些关键字的推文。现在,每条推文都被保存到一个单独的 JSON 文件中的一个集合文件夹中,所以我最终得到了数千个 JSON 文件。有没有办法让每条新推文都附加到一个大的 JSON 文件中?如果没有,我如何在 Python 中处理/使用数千个小型 JSON 文件?

这是处理保存数据的 settings.py 部分:

# settings for where to save data on disk
SAVE_TWEET_PATH = './Data/tweet/'
SAVE_USER_PATH = './Data/user/'

标签: pythonjsontwitter

解决方案


我会读取所有文件。将数据放入列表中并再次保存为 JSON

import os
import json

folder = '.'
all_tweets = []

# -- read ---

for filename in sorted(os.listdir(folder)):
    if filename.endswith('.json'):
        fullpath = os.path.join(folder, filename)
        with open(fullpath) as fh:
           tweet = json.load(fh)

           all_tweets.append(tweet)

# --- save ---

with open('all_tweets.json', 'w') as fh:
    json.dump(all_tweets, fh)

推荐阅读