2017-12-12 19 views
0

こんにちは私はこれを行う方法についての多くのガイドとチュートリアルを見てきましたが、tweepyを使用してJSONデータをテキストファイルに保存することに問題があります。jsonはtweepyストリームをテキストファイルにダンプする方法は?

class StreamListener(tweepy.StreamListener): 

def on_status(self, status): 

    print(status) 

def on_error(self, status): 

    print status 
    if status == 420: 

     return False 



if __name__ == '__main__': 

stream_listener = StreamListener() 
auth = tweepy.OAuthHandler(consumer_token, consumer_secret) 
auth.set_access_token(access_token, access_token_secret) 
stream = tweepy.Stream(auth, stream_listener) 

は、私は、リストにデータを読み込むことになっている別のpythonファイルがあります。

import pandas 
import json 

json_data = 'twitter_data.txt' 

data_list = [] 
#load file 
tweets_file = open(json_data, "r") 
for line in tweets_file: 
try: 
    tweet = json.loads(line) #this line causes problems 
    data_list.append(tweet) 
except: 
    continue 


print len(data_list) 

が、私はTwitterから受信したデータをJSON形式で来ると思ったが、私はすべてを、次のよガイドは言いますそれはありますが、実際には別のオブジェクトにあります。

すべてをリストに保存すれば、jsonはそのリストを新しいテキストファイルにダンプする必要がありますか?

答えて

1

あなたは正しい軌道に乗っているようです。ストリームリスナーを変更して、つぶやきをファイルに直接書き込むことができます。

編集:これはJSON形式で書き出すようになりました。

このコードは無期限に実行されるため、しばらくして(Ctrl-C)処理を終了するか、コードを変更する必要があります。

次にあなたがデータをロードすることができます

import json 

json_data = [] 
with open('tweets.json','r') as f: 
    json_data.append(json.loads(f.readline())) 

は、この情報がお役に立てば幸い!

+0

私は応答と助けを感謝しますが、これは私が新しいファイルから読むときにjson.loadsを使うことができますか?私はそれがJSON形式で始まるとは思いませんか? – Carbon

+0

編集を参照してください:あなたの後に何をするべきでしょうか:-) – Robbie

+0

jsonファイル全体が1つのオブジェクトとして格納され、リストに格納され、リストの長さは1になります。しかしリストの各エントリつぶやくはずです。 – Carbon

関連する問題