gpt4 book ai didi

python - AppEngine GeoPt 数据上传

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:40 24 4
gpt4 key购买 nike

我正在用 Java 编写一个 GAE 应用程序并且只使用 Python 处理数据上传。我正在尝试导入如下所示的 CSV 文件:

POSTAL_CODE_ID,PostalCode,City,Province,ProvinceCode,CityType,Latitude,Longitude
1,A0E2Z0,Monkstown,Newfoundland,NL,D,47.150300000000001,-55.299500000000002

如果我导入 Latitude,我能够将此文件导入我的数据存储区和经度作为 float ,但我无法弄清楚如何将 lat 和 lng 作为 GeoPt 导入。这是我的 loader.py 文件:

import datetime
from google.appengine.ext import db
from google.appengine.tools import bulkloader

class PostalCode(db.Model):
id = db.IntegerProperty()
postal_code = db.PostalAddressProperty()
city = db.StringProperty()
province = db.StringProperty()
province_code = db.StringProperty()
city_type = db.StringProperty()
lat = db.FloatProperty()
lng = db.FloatProperty()

class PostalCodeLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'PostalCode',
[('id', int),
('postal_code', str),
('city', str),
('province', str),
('province_code', str),
('city_type', str),
('lat', float),
('lng', float)
])

loaders = [PostalCodeLoader]

我认为这两行 db.FloatProperty() 应该替换为db.GeoPtProperty(),但这就是我的踪迹结束的地方。我很陌生Python 所以任何帮助将不胜感激。

最佳答案

好的,我从 Google 网上论坛得到了答案(感谢 Takashi Matsuo 和 Mike Armstrong)。解决方案是修改我的 CSV 文件并将 lat 和 lng 组合在双引号字符串中。双引号字符串中的逗号不计为 CSV 分隔符。

POSTAL_CODE_ID,PostalCode,City,Province,ProvinceCode,CityType,Point
1,A0E 2Z0,Monkstown,Newfoundland,NL,D,"47.150300000000001,-55.299500000000002"

此外,这是我的新 loader.py。请注意,GeoPtProperty 采用带有“00.0000,00.0000”的字符串:

import datetime
from google.appengine.ext import db
from google.appengine.tools import bulkloader


class PostalCode(db.Model):
id = db.IntegerProperty()
postal_code = db.PostalAddressProperty()
city = db.StringProperty()
province = db.StringProperty()
province_code = db.StringProperty()
city_type = db.StringProperty()
geo_pt = db.GeoPtProperty()

class PostalCodeLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'PostalCode',
[('id', int),
('postal_code', str),
('city', str),
('province', str),
('province_code', str),
('city_type', str),
('geo_pt', str)
])

loaders = [PostalCodeLoader]

关于python - AppEngine GeoPt 数据上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1588633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com