Appengine Bulkload 上载中文CSV文档

Appengine Bulkload 支持UTF-8中文CSV上载吧!环境 Appengine SDK 1.1.3

  1. 把 google\appengine\ext\bulkload\__init__.py 拷贝到你的目录,比如 patch\bulkload.py,当然不要忘记在patch目录下面放置 __init__.py 文档哦。
  2. 更改 patch\bulkload.py 内容,只有一处:
    .....
       return (httplib.BAD_REQUEST, ''.join(output))
    -  buffer = StringIO.StringIO(data)
    +  buffer = StringIO.StringIO(data.encode('utf-8'))
       reader = csv.reader(buffer, skipinitialspace=True)
    .....
    
  3. 更改你的 myloader.py
    - from google.appengine.ext import bulkload
    + import patch.bulkload as bulkload
    ....
        bulkload.Loader.__init__(self, 'Person',
    -                          [('name', str),
    +                          [('name', lambda x: unicode(x,'utf-8')), 
                                ('email', datastore_types.Email),
    ....
    
Sign in to add a comment.