2016-08-22 76 views
0

我用這個基於tweepy的code來通過user_id拉取給定用戶的推文。然後,我將如下給定用戶(alltweets)的所有tweet的列表保存到json文件中。請注意,沒有「repr」,我無法將alltweets列表轉儲到json文件中。該代碼預期一樣從json文件中的「狀態」包裝中解析推文的文本

with open(os.path.join(output_file_path,'%s_tweets.json' % user_id), 'a') as f: 
    json.dump(repr(alltweets), f) 

不過,我有一個側面的問題與他們保存到JSON文件後獲取的tweet。我需要訪問每條推文中的文本,但我不確定如何處理tweepy使用的「狀態」包裝(請參閱附加的json文件的示例)。 sample json file content

我嘗試遍歷文件中的行,如下所示,但該文件被視爲單行。

with open(fname, 'r') as f: 
    for line in f: 
     tweet = json.loads(line) 

我也嘗試讀取JSON文件作爲一個字符串後狀態迭代,如下所示,但重複而發生在JSON文件的單個字符。

with open(fname, 'r') as f: 
    x = f.read() 
      for status in x: 
       """code""" 
+0

請指出一個明確的問題。我沒有看到任何問號,目前還不清楚你到底在問什麼或問什麼...... – Julien

+0

你沒有在你的文件中保存json。你實際上保存了'Status'對象列表的'repr'。您需要在保存之前從對象中取出json。 – Sevanteri

+0

@JulienBernu:我的問題是,如何迭代json文件中的多個狀態並提取推文的「文本」? – adixxov

回答

0

也許不是最漂亮的解決方案,但你可以只聲明Status作爲dict然後eval列表(這些文件的全部內容)。

Status = dict 

f = open(fname, 'r') 
data = eval(f.read()) 
f.close() 

for status in data: 
    """ do your stuff"""