我想废弃下面的地图坐标,我的坐标为var Data = {lat:45.000000,long:68.00000}
我可以废弃上述数据项'lng':68.0000和'lat':45.0000作为单独的项目。 并且还将它们放在一个新的键“loc”中作为'loc':{'lat':45.0000,long:68.000000}。我正在尝试将这些已删除的项目存储到MongoDb中。在Mongodb中,我需要特定顺序的'lng和'lat'值(坐标)所以Mongodb会将它们识别为Geo位置。 Mongodb首先需要'lng',然后是'lat'。
我该怎么做?有人可以帮助我吗?。
这是我的物品档案
class Citylist(scrapy.Item):
lng = scrapy.Field()
lat = scrapy.Field()
loc = scrapy.Filed()
这是我的蜘蛛文件
for newlist in HtmlXPathSelector(response).select('/html/body'):
l = ItemLoader(item=Citylist(),response = response)
l.add_xpath('lng', '//......text()')
l.add_xpath('lat', '//......text()')
l.add_value('loc', {'lng': l.get_output_value('lng'),
'lat': l.get_output_value('lat')})
yield l.load_item()
我当前的出局是......
'lng':'68.00000',
'lat':'45.00000',
'loc':{'lat':'45.00000','lng':'68.00000}.
1)我需要我的出局只是......
'loc':{'lng':'68.00000 ,'lat':'45.00000'},
我不需要......
'lng':'68.00000', 'lat':'45.00000',
作为单独的值。请告知如何做到这一点
由于
答案 0 :(得分:0)
第一件事:关于如何在scrapy https://stackoverflow.com/a/25096896/2446893中正确处理嵌套数据,这是一个很好的答案 第二件事:如果订单很重要,您可以使用OrderedDict https://docs.python.org/2/library/collections.html#collections.OrderedDict。
您还可以使用元组仅返回值,而不是键。