开发者

How to download data to b.csv that like a.csv format from gae localhost server

开发者 https://www.devze.com 2023-01-03 20:12 出处:网络
My a.csv is: 001,哈哈大学 002,拉拉大学 003,啊啊啊大学 004,文网文大学 005,卡卡卡大学

My a.csv is:

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

And my str_loader.py is:

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] 

And I use this code to update data to localhost server:

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

I want to test download data to b.csv that like a.csv format,

So do this:

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

How to download data to b.csv that like a.csv format.

I have added this to 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]

I use this code to run:

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

But, it show error:

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()
  Fi开发者_运维百科le "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

And when I run:

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

I am getting:

'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]


As per http://appengine-cookbook.appspot.com/recipe/using-the-python-bulk-exporter-tool-with-a-java-application/ , first add the following to your 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]

Next, run:

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

Of course you probably ultimately want to create a separate file for download vs. upload, but you get the idea.


I strongly suggest that you dump the contents of b.csv by issuing the following command at your shell prompt

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

That way we can see what is actually in the file.

HOWEVER It looks very much like an SQLite3 database -- perhaps you need to explore what options the appcfg.py script has for choosing an output file format.


by loading the data into an sqlite db and then dumping that via the python csv module.

0

精彩评论

暂无评论...
验证码 换一张
取 消