2015-12-20 1 views
2

Я хотел бы сохранить исходные твиты, которые я получаю от Twitter до Tweepy.Как сохранить твиты в JSON в txt-файле в Python 3.4?

Нет проблем с извлечением твитов, но проблема возникает при сохранении этого необработанного ответа JSON на локальный .txt-файл.

with open("tweets.txt", "a", encoding='utf8') as outfile: 
    for tweet in public_tweets: 
     json.dump(tweet, outfile) 

Когда я запускаю приведенный выше код, он дает мне эти твиты в командной строке, но не спасает тех, кто в файле tweets.txt.

Итак, где проблема?

Примечание:

  • Перед маркировки этот вопрос как дубликат, я хотел бы сказать, что я видел несколько постов StackOverflow по поводу моего вопроса, но ни один из них не решает мою проблему.
  • Я использую Python Version 3.4.4
+0

Либо ваш 'public_tweets' пуст, либо вы открываете неверный файл. – ZdaR

+0

Возможно, вы захотите предоставить http://stackoverflow.com/help/mcve. Вы печатаете твиты в другом месте? Например, они не должны отображаться на stdout, если вы пишете файл. – pvg

+0

Разве вы не видели, что я сказал, что получаю эти твиты в командной строке? И для вашей второй мысли я попытался предоставить новый текстовый файл со статическими данными вместе с json.dump, но он отлично сохраняет статические данные. –

ответ

1

Ok ребята. Я получил решение. Проблема в том, что public_tweets не является сериализуемым JSON.

Я должен добавить ._json в каждый твит, который я получаю для цикла.

json.dump(tweet._json, outfile, indent=4) 

Спасибо всем!