Python 将来自多个子Reddit的PRAW结果附加到一个数据帧

Python 将来自多个子Reddit的PRAW结果附加到一个数据帧,python,python-3.x,pandas,praw,Python,Python 3.x,Pandas,Praw,我现在正在使用PRAW从多个不同的子Reddit获取结果,并尝试将每个子Reddit的每个结果分组到一个数据帧中 现在,它可以很好地处理一个子Reddit,但是一旦我传入一个子Reddit列表,它就会覆盖上一个子Reddit的结果,并返回最近完成的子Reddit。出于某种原因,我觉得这应该是微不足道的,但我画了一个完全空白 这是我现在拥有的代码: sub_list = ['5 different subreddits'] for sub in sub_list: print('Wor

我现在正在使用PRAW从多个不同的子Reddit获取结果,并尝试将每个子Reddit的每个结果分组到一个数据帧中

现在,它可以很好地处理一个子Reddit,但是一旦我传入一个子Reddit列表,它就会覆盖上一个子Reddit的结果,并返回最近完成的子Reddit。出于某种原因,我觉得这应该是微不足道的,但我画了一个完全空白

这是我现在拥有的代码:

sub_list = ['5 different subreddits']

for sub in sub_list:

    print('Working on this sub right now: \n', sub)

    subreddit = protest_sniffer.subreddit(sub)

    cont_subreddit = subreddit.controversial(limit=1000)

    topics_dict = { "title":[], \
                    "score":[], \
                    "id":[], "url":[], \
                    "comms_num": [], \
                    "created": [], \
                    "body":[]}
    count = 0

    for submission in cont_subreddit:
        topics_dict["title"].append(submission.title)
        topics_dict["score"].append(submission.score)
        topics_dict["id"].append(submission.id)
        topics_dict["url"].append(submission.url)
        topics_dict["comms_num"].append(submission.num_comments)
        topics_dict["created"].append(submission.created)
        topics_dict["body"].append(submission.selftext)

        count += 1
        progress = round(100 * (count/1000), 1)
        print('%s percent finished' % progress)

topics_data = pd.DataFrame(topics_dict)
print(topics_data.describe())

由于
topics\u dict
是在第一个循环中定义的,因此子reddit的每次新迭代都会用包含空列表的字典覆盖以前的字典。我要说的是,试着把它移到圈外

sub_list = ['5 different subreddits']

topics_dict = { "title":[], \
                    "score":[], \
                    "id":[], "url":[], \
                    "comms_num": [], \
                    "created": [], \
                    "body":[]}

for sub in sub_list:
    ...

multireddit对你有用吗?您可以将subreddit设置为类似于
的“pics+gifs+funcy”
,它将同时收集所有3个站点的帖子。