我的代码适用于通过 Python 的 Tweepy 包获取实时推文。我只想获得推文的创建日期和内容,所以我定义如下
def on_status(self, status):
tweet_text = status.text
tweet_created_date = str(status.created_at)
tweet_data = {'Created_at':tweet_created_date,'Text':tweet_text}
self.num_tweets += 1
if self.num_tweets < 10001:
with open('data.txt','a') as tf:
#tf.write(tweet_data + '\n')
tf.write(format(tweet_data) + '\n')
return True
else:
return False
但是输出并没有准确显示&#34; Created_at:.....,Text .....&#34;。它会在创建日期更改时更改。
{'Text': 'RT @owen_author: Tiger Lily of Bangkok: a serial killer is on the loose in #BKK NaNoWriMo winner #Bangkoknoir #thri…', 'Created_at': '2017-06-01 22:18:28'}
{'Text': 'RT @MidwestBG: #NP Silent Stranger @SilentStranger6 - Bangkok by Night (Alternate Mix) on @MidwestBG', 'Created_at': '2017-06-01 22:18:38'}
{'Text': 'RT @IronWavesRadio: #NP Silent Stranger @SilentStranger6 - Bangkok by Night (Alternate Mix) on @IronWavesRadio', 'Created_at': '2017-06-01 22:18:42'}
{'Created_at': '2017-06-02 02:34:31', 'Text': '"RT @EXOXIUMINMAMA: 17.06.10\n2017 BANGKOK SUPER LIVE \n#2017bkksuperlive \n\n#XIU의미소가우리에겐최고! \nXIUMIN's Smile is the BEST! \n\nรายละเอียด\n… "'}
{'Created_at': '2017-06-02 02:34:39', 'Text': '(w1-59)Stamps,Thailand stamps,MNH,wild animals,art,minerals #thailand #bangkok'}
{'Created_at': '2017-06-02 02:34:42', 'Text': 'RT @joeybirlem: reacting to cringey musicallys youtube video out tomorrow! bangkok vlog out on friday be readyyyyyyy'}
那么如何解决这一天所有推文的问题以1种形式显示&#34; Created_at:.....,Text .....&#34;。
我是初学者,所以我需要你的帮助。
非常感谢你。
答案 0 :(得分:1)
您使用dict
(词典)类型来存储推文(tweet_data
)。 Python的字典不维护存储字段的顺序。因此,您会看到{'Text': ..., 'Created_at': ...}
的某些实例,而{'Created_at': ..., 'Text': ...}
的其他实例。
如果您想维护字段的顺序,可以使用OrderedDict
类型:
tweet_data = OrderedDict([('Created_at', tweet_created_date), ('Text', tweet_text)])