首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止for循环在每次循环重新启动时擦除其输出?

如何防止for循环在每次循环重新启动时擦除其输出?
EN

Stack Overflow用户
提问于 2021-10-17 17:28:23
回答 1查看 138关注 0票数 0

背景:我正在创建一个推文刮刀,用刮刮,从众议院和参议院的现任政府代表那里收集推文。我正在搜索的推文中,我正在搜索与“网络安全”和“隐私”相关的关键词。我正在用一本单词字典来扫描。通常,我会有更多的成员在用户名列表中,但我只是尝试用一个较低的数字测试,以使它首先工作。

The problem:我已经设置了嵌套的for循环,以遍历要检查的每个用户名,并设置要扫描的单词字典。输出仅显示用户名列表中的最后一个人。我找不出原因。就像每次for循环重新启动时,它会擦除它刚刚检查过的最后一个人。

代码

代码语言:javascript
复制
import os
import pandas as pd

tweet_count = 500
username = ["SenShelby", "Ttuberville", "SenDanSullivan"]
text_query = ["cybersecurity", "cyber security", "internet privacy", "online privacy", "computer security", "health privacy", "privacy", "security breach", "firewall", "data"]
since_date = "2016-01-01"
until_date = "2021-10-14"

for person in username:
  for word in text_query:
      os.system("snscrape --jsonl --progress --max-results {} --since {} twitter-search '{} from:{} until:{}'> user-tweets.json".format(tweet_count, since_date, word, person, until_date))

tweets_framework = pd.read_json('user-tweets.json', lines=True)
tweets_framework.to_csv('user-tweets.csv', sep=',', index=False)

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2021-10-17 18:30:53

首先,每个用户的JSON应该有一个唯一的名称。

第二,您需要为每个用户运行json到csv (如果这是您要做的)

代码语言:javascript
复制
for person in username:
  for word in text_query:
      filename = '{}-{}-tweets'.format(person, word)
      os.system("snscrape --jsonl --progress --max-results {} --since {} twitter-search '{} from:{} until:{}'> {}.json".format(tweet_count, since_date, word, person, until_date, filename))

      tweets_framework = pd.read_json('{}.json'.format(filename), lines=True)
      tweets_framework.to_csv('{}.csv'.format(filename), sep=',', index=False)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69606895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档