【发布时间】:2019-03-23 06:47:03
【问题描述】:
我有一个用于通过 slack 发送 twitter 警报的 python 脚本:-
def twitter_setup():
"""
Utility function to setup the Twitter's API
with our access keys provided.
"""
# Authentication and access using keys:
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
# Return API with authentication:
api = tweepy.API(auth)
return api
extractor = twitter_setup()
# We create a tweet list as follows:
tweets = extractor.user_timeline(screen_name="**FortniteGame**", count=200)
data = pd.DataFrame(data=[tweet.text for tweet in tweets], columns=['Tweets'])
# We add relevant data:
data['ID'] = np.array([tweet.id for tweet in tweets])
data['Date'] = np.array([tweet.created_at for tweet in tweets])
data['text'] = np.array([tweet.text for tweet in tweets])
#data['Date'] = pd.to_datetime(data['Date'], unit='ms').dt.tz_localize('UTC').dt.tz_convert('US/Eastern')
created_time = datetime.datetime.utcnow() - datetime.timedelta(minutes=1)
data = data[(data['Date'] > created_time) & (
data['Date'] < datetime.datetime.utcnow())]
my_list = ['Maintenance', 'Scheduled', 'downtime', 'Issue', 'Voice', 'Happy',
'Problem', 'Outage', 'Service', 'Interruption', 'voice-comms', 'Downtime']
ndata = data[data['Tweets'].str.contains(
"|".join(my_list), regex=True)].reset_index(drop=True)
slack = Slacker('xoxb-3434-4334-fgsgsdfsf')
#message = "test message"
slack.chat.post_message('#ops-twitter-alerts', 'FNWP :' +' '+ ndata['Tweets'] + '<!channel|>')
现在我有一个 csv 文件,我在 pandas 中读取,如下所示
client domain twittername
1.) EPIC FNWP FortniteGame
2.) PUBG BLHP PUBG
3.) abc xyx abhi98358
我想为每个客户端使用相同的脚本,并且我想遍历它并假设它首先会为 Fortnite 做,然后是 PUBG,然后是 abhi98358,并且它应该以同样的方式逐步进行。
【问题讨论】:
-
使用 iterrows 或 for 循环就足以通过数据框
-
嘿 @SarthakNegi 我是 python 新手...我擅长脚本编写,但在循环和所有方面都不太擅长。这里有两个我想要动态的变量,一个是推特名称,一个是'FNWP:'+客户名称。如果你能提供一些示例代码。
-
@ak333:我可以看到你在这行代码
tweets = extractor.user_timeline(screen_name="**FortniteGame**", count=200)上只使用了columntwitername。因此,您只想对此使用迭代而不是硬编码FortniteGame?。如果我错了,请纠正我?
标签: python python-3.x pandas dataframe automation