Объект ItemIterator не имеет атрибута to_csv - PullRequest
0 голосов
/ 11 декабря 2018
tweets = tweepy.Cursor(api.search, q=searchTerm).items(NoOfTerms)
tweets.to_csv("new.csv")

Во время выполнения кода для записи CSV-файла из извлеченных твитов из твиттера я получаю сообщение об ошибке:

AttributeError Traceback (последний вызов был последним) в --> 1 tweets.to_csv ("new.csv")

AttributeError: у объекта ItemIterator нет атрибута to_csv

Как я могу решить эту проблему?Спасибо

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Это сделает работу!

Я рекомендую вам использовать CSV из Python.Откройте файл и запишите его во время цикла следующим образом:

#!/usr/bin/python
import tweepy
import csv #Import csv
auth = tweepy.auth.OAuthHandler('XXXXXX', 'XXXXXXX')
auth.set_access_token('XXX-XXX', 'XXX')

api = tweepy.API(auth)

# Open/create a file to append data to
csvFile = open('result.csv', 'a')

#Use csv writer
csvWriter = csv.writer(csvFile)

for tweet in tweepy.Cursor(api.search,
                           q = "google",
                           since = "2014-02-14",
                           until = "2014-02-15",
                           lang = "en").items():

    # Write a row to the CSV file. I use encode UTF-8
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])
    print tweet.created_at, tweet.text
csvFile.close()
0 голосов
/ 11 декабря 2018

Ваш вызов tweepy.Cursor(...).items() возвращает итератор.У этого итератора нет метода to_csv().Вместо этого вы хотите перебрать элементы объекта Cursor:

for tweet in tweepy.Cursor(api.search, q=searchTerm).items(NoOfTerms):
    # process tweet here
    process_tweet(tweet)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...