Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tweepy写入文本文件_Python_Python 3.x - Fatal编程技术网

Python 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.

我正在学习tweepy库来访问twitter api。我有一个带有一些初步数据(比如tweet_id)的csv文件,我把它拉到了一个数据框中。我需要使用这些数据来使用tweepy提取更多数据

我试图将这些数据写入一个文本文件,然后在此基础上创建一个新的数据框。在过去的几天晚上,我一直在尝试不同的事情,我不明白为什么这不能将数据写入文本文件。我将所有必要的标记存储在变量中

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
    子句:

    • 需要
      except
      子句,否则将引发语法错误。如果您不想要任何东西,那么除了:pass之外,您不应该使用它:
    • 始终尝试将
      try
      中的代码限制在尽可能小的范围内,理想情况下仅限可能失败的代码行
  • 读取/写入文件:

    • 通常,最佳做法是将
      一起使用(称为上下文管理器),它基本上为您打开和关闭文件,但使用更安全的方式,因为如果
      一起使用的
      中的任何内容出错,它仍将关闭文件。见下例:
以open('file.txt','a')作为f的
:
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之类的,基于你想要的信息。我对你的代码做了一些小改动,现在正在写入文件!非常感谢。伟大的很高兴听到:)你有没有可能知道这里发生了什么事?