我正在尝试使用以下loader class从bulkloader
生成的CSV中导入数据:
import datetime
from google.appengine.ext import db
from google.appengine.tools import bulkloader
from market import Market
class MarketLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(
self, 'Market',
[('url', str),
('market_name', lambda x: x.decode('utf-8')),
('parent_market_name', lambda x: x.decode('utf-8')),
('last_modified',
lambda x: dateutil.datetime.strptime(
x, '%Y-%m-%dT%H:%M:%S').date()),
('key',str),
('timestamp',
lambda x: datetime.datetime.strptime(
x, '%Y-%m-%dT%H:%M:%S').date())
])
loaders = [MarketLoader]
CSV数据:
URL,market_name,parent_market_name,LAST_MODIFIED,键,时间戳 somedata,MOREDATA,yadata,2013-09-14T03:34:22,123143244,2013-09-14T03:34:22
调整属性格式化程序或完全省略它们不会阻止收到此错误:
02:22 PM应用程序:s~myapp 02:22 PM上传数据 记录。 [INFO]登录bulkloader-log-20131005.142241 [INFO
]限制转移:[INFO]带宽:250000字节/秒 [INFO] HTTP连接:8 /秒[INFO]实体 插入/获取/修改:20 /秒[INFO]批量大小:10 Traceback(最近一次调用最后一次):文件 “/home/azureuser/google_appengine/appcfg.py”,第184行,in run_file( file ,globals())文件“/home/azureuser/google_appengine/appcfg.py”,第180行,在run_file中 execfile(script_path,globals_)文件“/home/myuser/google_appengine/google/appengine/tools/appcfg.py”, 第4403行 main(sys.argv)文件“/home/myuser/google_appengine/google/appengine/tools/appcfg.py”, 第4394行,主要 result = AppCfgApp(argv).Run()文件“/home/azureuser/google_appengine/google/appengine/tools/appcfg.py”, 第2469行,在Run中 self.action(self)文件“/home/azureuser/google_appengine/google/appengine/tools/appcfg.py”, 第4103行,致电 return method()文件“/home/azureuser/google_appengine/google/appengine/tools/appcfg.py”, 第3915行,在PerformUpload中 run_fn(args)文件“/home/azureuser/google_appengine/google/appengine/tools/appcfg.py”, 第3806行,在RunBulkloader中 sys.exit(bulkloader.Run(arg_dict))文件“/home/azureuser/google_appengine/google/appengine/tools/bulkloader.py”, 第4419行,在Run中 return _PerformBulkload(arg_dict)文件“/home/azureuser/google_appengine/google/appengine/tools/bulkloader.py”, 第4230行,在_PerformBulkload中 LoadConfig(config_file)文件“/home/azureuser/google_appengine/google/appengine/tools/bulkloader.py”, 第3897行,在LoadConfig中 Loader.RegisterLoader(cls())文件“/home/azureuser/gaeccscrm/Market_loader.py”,第19行, init lambda x:datetime.datetime.strptime(文件“/home/azureuser/google_appengine/google/appengine/tools/bulkloader.py”, 第2698行, init GetImplementationClass(kind)文件“/home/azureuser/google_appengine/google/appengine/tools/bulkloader.py”, 第968行,在GetImplementationClass中 implementation_class = db.class_for_kind(kind_or_class_key)文件“/home/azureuser/google_appengine/google/appengine/ext/db/init.py”, 第296行,在class_for_kind中 提出KindError('没有实现种类\'%s \''%种类)google.appengine.ext.db.KindError:没有实现类型'市场'
堆栈跟踪始终提到最后一个格式化程序,无论哪个格式化程序设置为最后一个格式化程序。