我从一个带有GeoPt列的csv文件上传数据。我有这样的引号的GeoPt列数据:SomeData,“54.321,-123.456”,MoreData
我的bulkloader.yaml文件有一个这样的条目: - 财产:位置 external_name:LOCATION #Type:GeoPt Stats:此类型的1个属性。
当我进行上传并转到DataStore查看器时,我看到该位置已作为字符串而不是GeoPt上传。我不确定导入它的正确方法是什么。也许它需要import_transform?
答案 0 :(得分:4)
创建一个uploadutil.py
文件并在其中添加此方法:
def geo_converter(geo_str):
if geo_str:
lat, lng = geo_str.split(',')
return db.GeoPt(lat=float(lat), lon=float(lng))
return None
然后在bulkloader.yaml
:
为uploadutil添加导入:
- import: uploadutil
添加属性:
- property: location
external_name: LOCATION
import_transform: uploadutil.geo_converter
答案 1 :(得分:3)
如果您在上传数据时获得NameError global name 'db' is not defined
,请添加行
from google.appengine.ext import db
归档uploadutil.py