我已经用这个代码以这种方式打印了一个内容。这段代码打印出所有内容,如何使用IF打印特定位置?比如上布吉提马,西海岸。
地区:上武吉提马总结:多云纬度: 1.356084经度: 103.768873
地区:西海岸概要:多云纬度: 1.30039493经度: 103.7504196
区域:林地摘要:多云纬度: 1.44043052经度: 103.7878418
地区:益顺总结:多云纬度: 1.42738834经度: 103.8290405
import urllib2
from BeautifulSoup import BeautifulStoneSoup #Using bs3
url="https://api.projectnimbus.org/neaodataservice.svc/NowcastSet"
request = urllib2.Request(url)
request.add_header("accept", "*/*")
request.add_header('AccountKey', "OSJeROQjTg4v7Ec3kiecjw==")
request.add_header('UniqueUserID', "00000000000000000000000000000001")
result = urllib2.urlopen(request)
xml_str = result.read()
soup = BeautifulStoneSoup(xml_str)
prop_list = []
for content in soup.findAll("m:properties"):
props = {}
for prop in content.findChildren():
props[prop.name[2:]] = prop.text
prop_list.append(props)
for prop in sorted(prop_list):
print "Area: %(area)s\nSummary: %(summary)s\nLatitude: %(latitude)s\nLongitude: %(longitude)s\n" % prop
发布于 2013-07-15 17:57:44
那么,您必须在最后的for
循环中添加一条if
语句,检查当前条目是否在某个肯定列表中。如下所示:
areas_to_print = ["Upper Bukit Timah", "West Coast", "Woodlands", "Yishun"]
for prop in sorted(prop_list):
if prop["area"] in areas_to_print:
print "Area: %(area)s\nSummary: %(summary)s\nLatitude: %(latitude)s\nLongitude: %(longitude)s\n" % prop
或者,您也可以将相同的if
语句添加到第一个for
循环中,这样一开始只将这些条目添加到prop_list
中。
发布于 2013-07-15 18:01:52
for prop in sorted(prop_list):
if (prop["area"] == "whatever u wnt or someother condition"):
print "Area: %(area)s\nSummary: %(summary)s\nLatitude: %(latitude)s\nLongitude: %(longitude)s\n" % prop
https://stackoverflow.com/questions/17651232
复制相似问题