将使用 Python 从 Twitter 检索到的数据保存到文本文件中?
Posted
技术标签:
【中文标题】将使用 Python 从 Twitter 检索到的数据保存到文本文件中?【英文标题】:Saving Data retrieved from Twitter utilizing Python to a text file? 【发布时间】:2012-05-02 02:23:03 【问题描述】:大家好,我目前正在做一些研究,并正在使用 twitter api 来收集信息。我编写了一些代码来查询 python 中的特定推文,并希望将结果保存到文本文件中,但我的代码只返回返回的推文的最后一条推文,谁能告诉我如何纠正这个问题以及出了什么问题? 以下是我在 Python 中的代码示例,仅保存最后一条推文,而不是所有返回的推文:
u = urllib2.urlopen('http://search.twitter.com/search.json?geocode=29.762778,-95.383056,10.0mi&page=1&rpp=10')
datares = json.load(u)
pprint.pprint(datares)
for tweet in datares['results']:
print tweet['text']
archive=tweet['text']
unicodedata.normalize('NFKD', archive).encode('ascii','ignore')
with codecs.open('HTXtweets.txt',mode='w', encoding='utf-8',errors='replace') as cache:
cache.write(archive)
cache.closed
【问题讨论】:
【参考方案1】:您在循环的每次迭代中都通过结果打开文件。每次都会从头开始重新创建它。
你应该在循环之前打开它——你不需要在最后关闭它,因为with
语句完成时会自动发生。
【讨论】:
我想这比我的建议更好,因为您只打开文件一次。 感谢丹尼尔您的建议起到了作用,并感谢您提供的额外提示,即不需要最后关闭的提示非常感谢您的洞察力!【参考方案2】:这样做的原因是您打开文件以在每次迭代中写入。这将替换文件中的现有内容。在打开文件时尝试使用标志'a'
(如附加)。
【讨论】:
感谢 McFjodor 的反馈,我想我花了一双新的眼睛才能看到我的愚蠢错误,我很感激!以上是关于将使用 Python 从 Twitter 检索到的数据保存到文本文件中?的主要内容,如果未能解决你的问题,请参考以下文章