我正在尝试从网址
的文本文件中读取推文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')
答案 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')