2016-08-02 6 views
0

Python 2.7でTweepyを使用して、検索クエリの結果をCSVファイルに保存します。私は結果セットから一意のtweet.idsの数だけをどのように印刷することができるかを調べようとしています。私は知っている(len(list))が動作しますが、明らかに私はここでリストを初期化していません。私は解決策が明らかになるように、Pythonプログラミングには新しいです。どんな助けもありがとうございます。Python Print Distinct Values

for tweet in tweepy.Cursor(api.search, 
       q="Wookie", 
       #since="2014-02-14", 
       #until="2014-02-15", 
       lang="en").items(5000000): 
    #Write a row to the csv file 
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'), tweet.favorite_count, tweet.user.name, tweet.id]) 
    print "...%s tweets downloaded so far" % (len(tweet.id)) 
csvFile.close() 

答えて

2

あなたは、あなたがこれまで見てきた固有のIDを追跡するためにsetを使用し、その印刷できませんでした:彼らは唯一のユニークな要素を保つことを除いて

ids = set() 
for tweet in tweepy.Cursor(api.search, 
       q="Wookie", 
       #since="2014-02-14", 
       #until="2014-02-15", 
       lang="en").items(5000000): 
    #Write a row to the csv file 
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'), tweet.favorite_count, tweet.user.name, tweet.id]) 
    ids.add(tweet.id) # add new id 
    print "number of unique ids seen so far: {}".format(len(ids)) 
csvFile.close() 

はセットは、リストのようなものです。セットに重複を追加しません。

+0

.. TypeError例外のようなエラーを取得: '長い' タイプのオブジェクトは、(何のLENを持っていない) – hansolo

+0

が、それは私の '印刷し、それを考え出した "...%sのツイートはこれまでにダウンロードした" %(LEN( tweet.id)) ' これはエラーを投げていました。私は削除し、カウントが動作します。もう一度@xgord – hansolo

+0

@hansolo良いキャッチ、私はあなたのコードサンプルを含めるときに気付かなかった。私は今、その行を削除しました。 – xgord