我正在使用cherrypy和python脚本运行服务器。目前,有一个网页包含我需要获取的人员列表的数据。网页的格式如下:
www.url1.com, firstName_1, lastName_1
www.url2.com, firstName_2, lastName_2
www.url3.com, firstName_3, lastName_3
我希望在自己的网页上显示名称列表,每个名称都链接到相应的网站。
我已使用以下方法将网页读入列表:
@cherrypy.expose
def receiveData(self):
""" Get a list, one per line, of currently known online addresses,
separated by commas.
"""
method = "whoonline"
fptr = urllib2.urlopen("%s/%s" % (masterServer, method))
data = fptr.readlines()
fptr.close()
return data
但我不知道如何将列表分成逗号所在的列表列表。结果应该给每个较小的列表三个元素; URL,名字和姓氏。所以我想知道是否有人可以提供帮助。
提前谢谢!
答案 0 :(得分:3)
您可以迭代fptr,无需调用readlines()
data = [line.split(', ') for line in fptr]
答案 1 :(得分:2)
每个字符串都需要split(',')
方法:
data = [ line.split(',') for line in fptr.readlines() ]
答案 2 :(得分:0)
lists = []
for line in data:
lists.append([x.strip() for x in line.split(',')])
答案 3 :(得分:0)
如果您的数据是一个很大的'字符串(可能带有前导或尾随空格),请这样做:
lines=""" www.url1.com, firstName_1, lastName_1
www.url2.com, firstName_2 , lastName_2
www.url3.com, firstName_3, lastName_3 """
data=[]
for line in lines.split('\n'):
t=[e.strip() for e in line.split(',')]
data.append(t)
print data
输出:
[['www.url1.com', 'firstName_1', 'lastName_1'], ['www.url2.com', 'firstName_2',
'lastName_2'], ['www.url3.com', 'firstName_3', 'lastName_3']]
请注意删除了前导和尾随空格。