我正在尝试使用Python和Tweepy从特定用户刮取关注者列表。我可以让程序打印用户列表,但我有麻烦,让它写到CSV文件。我该如何使它写入CSV文件?另外,如何使CSV文件中各个用户的屏幕名之间没有逗号?
import tweepy
import csv
consumer_key = "XXX"
consumer_secret = "XXX"
access_token = "XXX"
access_token_secret = "XXX"
auth = tweepy.OAuth1UserHandler(
consumer_key, consumer_secret,
access_token, access_token_secret
)
api = tweepy.API(auth, wait_on_rate_limit=True)
csvFile = open('followers.csv', 'a')
csvWriter = csv.writer(csvFile)
for follower in api.get_followers(screen_name='twitteruser'):
print(follower.screen_name)
csvWriter.writerow(follower.screen_name)
csvFile.close()
既然您已经在使用外部依赖项(如Tweepy),我建议您使用Pandas!它是处理csv的最佳包——然而你不想在任何地方使用它来完成每一个简单的任务,因为它非常沉重,但我认为这对你来说无关紧要。
- 如何使用Pandas读取CSV文件。 如何用Pandas编写CSV文件
您还可以使用其他分隔符读写CSV,例如制表符或任何您想要的字符,使用pd.to_csv
方法中的参数sep
,解决您的逗号需求。
另外,我建议打开你的文件来写:
csvFile = open(' following .csv', 'w')
您不必在这里使用csv
包,因为您的用例非常简单。另外,我强烈建议使用上下文管理器,而不是手动打开和关闭文件。
这是你想做的事情的一种方法:
with open('followers.csv', 'a') as csvFile:
for follower in api.get_followers(screen_name='twitteruser'):
csvFile.write(f"{follower.screen_name}n")