问题
I'm new to Python, Twitter, and Tweepy. I managed to pull data from Twitter, but I now want to store it into a CSV file.
My code is:
#!/usr/bin/python
import tweepy
auth = tweepy.auth.OAuthHandler('XXXXXX', 'XXXXXXX'
auth.set_access_token('XXX-XXX', 'XXX'
api = tweepy.API(auth)
for tweet in tweepy.Cursor(api.search,
q="google",
since="2014-02-14",
until="2014-02-15",
lang="en").items():
print tweet.created_at, tweet.text
This prints data out on CLI, but I want it to output to a CSV file. I tried a few different options, but it only outputted the first tweet and not all tweets.
回答1:
This will do the job!
I will recommend you to use csv from Python. Open a file and write to it during your loop like this:
#!/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()
回答2:
You can actually run the program and print the output on another file.
Goto CMD and type
python file.py > newFile.py
The output from file.py will be read to newFile.py
来源:https://stackoverflow.com/questions/21865413/get-data-from-twitter-using-tweepy-and-store-in-csv-file