Python Tweepy写入文本文件
我正在学习tweepy库来访问twitter api。我有一个带有一些初步数据(比如tweet_id)的csv文件,我把它拉到了一个数据框中。我需要使用这些数据来使用tweepy提取更多数据 我试图将这些数据写入一个文本文件,然后在此基础上创建一个新的数据框。在过去的几天晚上,我一直在尝试不同的事情,我不明白为什么这不能将数据写入文本文件。我将所有必要的标记存储在变量中Python Tweepy写入文本文件,python,python-3.x,Python,Python 3.x,我正在学习tweepy库来访问twitter api。我有一个带有一些初步数据(比如tweet_id)的csv文件,我把它拉到了一个数据框中。我需要使用这些数据来使用tweepy提取更多数据 我试图将这些数据写入一个文本文件,然后在此基础上创建一个新的数据框。在过去的几天晚上,我一直在尝试不同的事情,我不明白为什么这不能将数据写入文本文件。我将所有必要的标记存储在变量中 auth = tweepy.OAuthHandler(Consumer_Key, Consumer_Secret) auth.
auth = tweepy.OAuthHandler(Consumer_Key, Consumer_Secret)
auth.set_access_token(Access_Token, Access_Secret)
tweetapi = tweepy.API(auth,
wait_on_rate_limit=True,wait_on_rate_limit_notify=True)
#writing text file
txtfile = open("jsontweet3.txt", "a")
txtfile.write('tweet_id retweet_count favorite_count''\n')
#pulling tweet info
for tweet_id in fdf.tweet_id:
try:
twitinfo = tweetapi.get_status(str(tweet_id),tweet_mode='extended')
retweets = twitinfo.retweet_count
favorites = twitinfo.favorite_count
txtfile.write(twitinfo+' '+str(retweets)+' '+str(favorites)+'\n')
txtfile.close()
我将非常感谢任何帮助 我不清楚错误是什么,可能是因为
try
子句
以下是我希望能派上用场的几条建议:
子句:try
- 需要
子句,否则将引发语法错误。如果您不想要任何东西,那么除了:pass之外,您不应该使用它:except
- 始终尝试将
中的代码限制在尽可能小的范围内,理想情况下仅限可能失败的代码行try
- 需要
- 读取/写入文件:
- 通常,最佳做法是将
一起使用(称为上下文管理器),它基本上为您打开和关闭文件,但使用更安全的方式,因为如果与
一起使用的与
中的任何内容出错,它仍将关闭文件。见下例:
- 通常,最佳做法是将
:
f、 写入('foobar')
使用这些代码可能会重新编写代码,如下所示:
auth=tweepy.OAuthHandler(使用者密钥,使用者密钥)
授权设置访问令牌(访问令牌,访问密钥)
tweetapi=tweepy.API(auth,wait\u on\u rate\u limit=True,wait\u on\u rate\u limit\u notify=True)
失败的推文=[]。#跟踪失败的推文
#写入文本文件
打开(“jsontweet3.txt”,“a”)作为txt文件:
write('tweet\u id retweet\u count favorite\u count\n')
#拉推信息
对于fdf.tweet_id中的tweet_id:
尝试:
twittenfo=tweetapi.get_status(str(tweet_id),tweet_mode='extended')
除:
#无法获取tweet-->添加到失败的tweets列表
失败的tweets.append(tweet\u id)
其他:
#仅在try子句未失败时执行
retweets=twitinfo.retweet\u计数
收藏夹=twittenfo.favorite\u计数
write(str(twitinfo)+''+str(转发)+''+str(收藏夹)+'\n')
发生了什么事?根本没有数据被写入?还有,为什么有一个try
子句,除了之外没有?这应该会引起一个语法错误,如果我不清楚的话,很抱歉,但我的问题是twitter上的数据没有写入文本文件。谢谢你的帮助!此代码引发以下错误:“不支持+:'Status'和'str'的操作数类型”。然后,我们似乎找到了代码未写入文本文件的原因。问题在于最后一行。将twittenfo
转换为字符串并通知我。我已经编辑了代码来做一个简单的str()
,但也许有更好的方法。。比如.text之类的,基于你想要的信息。我对你的代码做了一些小改动,现在正在写入文件!非常感谢。伟大的很高兴听到:)你有没有可能知道这里发生了什么事?