Как загрузить данные в b.csv, которые имеют формат a.csv, с сервера gae localhost - PullRequest
2 голосов
/ 19 июня 2010

Мой a.csv:

001,哈哈大学
002,拉拉大学
003,啊啊啊大学
004,文网文大学
005,卡卡卡大学
006,请求权大学
007,凤飞飞大学

И мой str_loader.py:

class College(db.Model):
    cid = db.StringProperty(required=True)
    name = db.StringProperty(required=True)

class CollegeLoader(bulkloader.Loader):
    def __init__(self):
        bulkloader.Loader.__init__(self, 'College',
                                   [
                                    ('cid', str),
                                    ('name', lambda x: unicode(x, 'utf8')),
                                   ])

loaders = [CollegeLoader] 

И я использую этот код для обновления данных на локальном сервере:

appcfg.py upload_data --application=zjm1126 --config_file=upload/str_loader.py --filename=upload/a.csv --kind=College --url=http://localhost:8100/remote_api

Я хочу проверить данные для загрузки в b.csv, например, в формате a.csv,

Так сделайте это:

appcfg.py download_data  --application=zjm1126 --kind=College  --url=http://localhost:8100/remote_api --filename=b.csv

Как загрузить данные в b.csvкак a.csv формат.

Я добавил это к str_loader.py:

class CollegeExporter2(bulkloader.Exporter):
    def __init__(self):
        bulkloader.Exporter.__init__(self, 'College',
                                   [
                                    ('cid', str),
                                    ('name', lambda x: unicode(x, 'utf8')),
                                   ])
exporters = [CollegeExporter2]

Я использую этот код для запуска:

appcfg.py download_data --config_file=upload/str_loader.py --application=zjm1126 --kind=College  --url=http://localhost:8100/remote_api --filename=b.csv

Но, это показываетошибка:

D:\zjm_demo\app>appcfg.py download_data --config_file=upload/str_loader.py --app
lication=zjm1126 --kind=College  --url=http://localhost:8100/remote_api --filena
me=b.csv
Downloading data records.
[INFO    ] Logging to bulkloader-log-20100619.120030
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
Traceback (most recent call last):
  File "d:\Program Files\Google\google_appengine\appcfg.py", line 68, in <module
>
    run_file(__file__, globals())
  File "d:\Program Files\Google\google_appengine\appcfg.py", line 64, in run_fil
e
    execfile(script_path, globals_)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 2757, in <module>
    main(sys.argv)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 2748, in main
    result = AppCfgApp(argv).Run()
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 1763, in Run
    self.action(self)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 2619, in __call__
    return method()
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 2451, in PerformDownload
    run_fn(args)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appcfg.p
y", line 2368, in RunBulkloader
    sys.exit(bulkloader.Run(arg_dict))
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 4014, in Run
    return _PerformBulkload(arg_dict)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 3837, in _PerformBulkload
    LoadConfig(config_file)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 3553, in LoadConfig
    Exporter.RegisterExporter(cls())
  File "upload/str_loader.py", line 57, in __init__
    ('name', lambda x: unicode(x, 'utf8')),
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 2786, in __init__
    for name, fn, default in properties:
ValueError: need more than 2 values to unpack

И когда я запускаю:

print repr(open('b.csv', 'rb').read())'

Я получаю:

'SQLite format 3\x00\x04\x00\x01\x01\x00@  \x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\r\x03\xfc\x00\x03\x02\xd5\x00\x03f\x03\xcf\x02\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x0e\x03\x07\x17GG\x01\x81\x1btablebulkloader_database_signaturebulkloader_database_signature\x04CREATE TABLE bulkloader_database_signature (\n      value TEXT not null)g\x01\x07\x17\x19\x19\x01\x81)tableresultresult\x02CREATE TABLE result (\nid BLOB primary key,\nvalue BLOB not null,\nsort_key BLOB)+\x02\x06\x17?\x19\x01\x00indexsqlite_autoindex_result_1result\x03\x00\x00\x00\x04\r\x00\x00\x00\x07\x00\x94\x00\x03\x85\x03\n\x02\x8c\x02\x0e\x01\x90\x01\x12\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|\x07\x05H\x81>\r:College\x00\x0000000000000000000742j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe6\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03007r\x1b\x1a\x04name \x00*\x11\x1a\x0f\xe5\x87\xa4\xe9\xa3\x9e\xe9\xa3\x9e\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe6\x05\x0c|\x06\x05H\x81>\r:College\x00\x0000000000000000000741j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe5\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03006r\x1b\x1a\x04name \x00*\x11\x1a\x0f\xe8\xaf\xb7\xe6\xb1\x82\xe6\x9d\x83\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe5\x05\x0c|\x05\x05H\x81>\r:College\x00\x0000000000000000000740j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe4\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03005r\x1b\x1a\x04name \x00*\x11\x1a\x0f\xe5\x8d\xa1\xe5\x8d\xa1\xe5\x8d\xa1\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe4\x05\x0c|\x04\x05H\x81>\r:College\x00\x0000000000000000000739j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe3\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03004r\x1b\x1a\x04name \x00*\x11\x1a\x0f\xe6\x96\x87\xe7\xbd\x91\xe6\x96\x87\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe3\x05\x0c|\x03\x05H\x81>\r:College\x00\x0000000000000000000738j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe2\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03003r\x1b\x1a\x04name \x00*\x11\x1a\x0f\xe5\x95\x8a\xe5\x95\x8a\xe5\x95\x8a\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe2\x05\x0cy\x02\x05H\x818\r:College\x00\x0000000000000000000737j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe1\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03002r\x18\x1a\x04name \x00*\x0e\x1a\x0c\xe6\x8b\x89\xe6\x8b\x89\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe1\x05\x0cy\x01\x05H\x818\r:College\x00\x0000000000000000000736j\x19j\x07zjm1126r\x0e\x0b\x12\x07College\x18\xe0\x05\x0cr\x0e\x1a\x03cid \x00*\x05\x1a\x03001r\x18\x1a\x04name \x00*\x0e\x1a\x0c\xe5\x93\x88\xe5\x93\x88\xe5\xa4\xa7\xe5\xad\xa6\x82\x01\x0e\x0b\x12\x07College\x18\xe0\x05\x0c\n\x00\x00\x00\x07\x03\x0b\x00\x03\xdd\x03\xba\x03\x97\x03t\x03Q\x03.\x03\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x03H\x01:College\x00\x0000000000000000000742\x07"\x03H\x01:College\x00\x0000000000000000000741\x06"\x03H\x01:College\x00\x0000000000000000000740\x05"\x03H\x01:College\x00\x0000000000000000000739\x04"\x03H\x01:College\x00\x0000000000000000000738\x03"\x03H\x01:College\x00\x0000000000000000000737\x02"\x03H\x01:College\x00\x0000000000000000000736\x01\r\x00\x00\x00\x01\x03!\x00\x03!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\\\x01\x03\x83?\n  app_id: zjm1126\n  url: http://localhost:8100/remote_api\n  kind: College\n  download: False\n  map: False\n  dump: True\n  restore: False\n  progress_db: bulkloader-progress-20100619.121020.sql3\n  has_header: False\n  \n  ' 
class CollegeExporter2(bulkloader.Exporter):
    def __init__(self):
        bulkloader.Exporter.__init__(self, 'College',
                                   [
                                    ('cid', str,None),
                                    ('name', lambda x:x.encode('utf8'),None),
                                   ],)
exporters = [CollegeExporter2]

Ответы [ 3 ]

1 голос
/ 19 июня 2010

В соответствии с http://appengine -cookbook.appspot.com / recipe / using-python-bulk-exporter-tool-with-a-java-application / , сначала добавьте следующее к своемуstr_loader.py:

class CollegeExporter(bulkloader.Exporter):
    def __init__(self):
        bulkloader.Exporter.__init__(self, 'College',
                                   [
                                    ('cid', str, None),
                                    ('name', lambda x: unicode(x, 'utf8'), None),
                                   ])
exporters = [CollegeExporter]

Далее выполните:

appcfg.py update zjm1126

appcfg.py download_data --config_file=upload/str_loader.py --application=zjm1126 --kind=College  --url=http://localhost:8100/remote_api --filename=b.csv

Конечно, вы, вероятно, в конечном итоге захотите создать отдельный файл для загрузки по сравнению сзагрузить, но вы получите идею.

0 голосов
/ 19 июня 2010

Я настоятельно рекомендую вам сбросить содержимое b.csv, введя следующую команду в командной строке

python -c"print repr(open('b.csv', 'rb').read())"

Таким образом, мы можем видеть, что на самом деле находится в файле.

ОДНАКО Это очень похоже на базу данных SQLite3 - возможно, вам нужно изучить, какие опции есть в скрипте appcfg.py для выбора формата выходного файла.

0 голосов
/ 19 июня 2010

загрузив данные в базу данных sqlite, а затем сбросив их через модуль python csv.

...