使用Python从文本文件中提取单个推文而不使用换行符

时间:2013-11-08 15:41:41

标签: python-2.7 twitter

我正在尝试从网址

的文本文件中读取推文
http://rasinsrv07.cstcis.cti.depaul.edu/CSC455/assignment5.txt

文件中的推文列在一行中(没有换行符)并被“EndOfTweet”字符串打断。 我正在使用以下代码阅读该文件:

import urllib2
wfd = urllib2.urlopen('http://rasinsrv07.cstcis.cti.depaul.edu/CSC455/assignment5.txt')
data = wfd.read()

据我所知,我必须在“EndOfTweet”上使用split来分隔行,但由于只有一行,我不明白如何遍历文件并分隔每一行。

for line in data:
    line = data.split('EndOfTweet')

1 个答案:

答案 0 :(得分:1)

你真是太近了!

当您调用wfd.read()时,data将包含该文件的原始文本。循环文件的常规方法是调用for line in data之类的东西,它只是寻找拆分数据的换行符。在这种情况下,您的数据不包含正常的换行符终结符。相反,他正在使用文本EndOfTweet来分隔你的行。这是你应该做的:

import urllib2
import json
wfd = urllib2.urlopen('http://rasinsrv07.cstcis.cti.depaul.edu/CSC455/assignment5.txt')
data = wfd.read()
for line in data.split('EndOfTweet'):
    # From here, line will contain a single tweet. It appears this line is a JSON parsable structure.
    decoded_line = json.loads(line)
    # Now, lets print out the text of the tweet to show we can
    print decoded_line.get(u'text')