bulkloader Listproperty utf8

时间:2011-10-31 03:21:08

标签: python google-app-engine

我有一个问题困住了我几天,尝试了几种方法仍然无法弄明白。

是关于使用utf-8

中的csv文件上传数据

这里是main.Py

class hello(db.Model):
    greeting = db.StringListProperty()  (or Listproperty(unicode))

class dbLoader(bulkloader.Loader):
    def __init__(self):
        bulkloader.Loader.__init__(self,'hello',
        [
        ('greeting', lambda x: x.decode('utf-8').split('|'))
        ])
loaders = [dbLoader]

data.cv包含:

“你好|您好|こんにちは|¡HOLA |مرحبا|안녕하세요”

存储实体就像 [u'Hello',u'\ u60a8 \ u597d',u'\ u3053 \ u3093 \ u306b \ u3061 \ u306f',u'\ xa1Hola',u'\ u0645 \ u0631 \ u062d \ u0628 \ u0627',u' \ uc548 \ ub155 \ ud558 \ uc138 \ uc694' ] 字符不正确。

对我来说更进一步......赞赏!

1 个答案:

答案 0 :(得分:0)

您的数据正在正确导入。存储的实体只是以Python的repr格式显示,它表示在前127个字符之外的字符的unicode字符串作为unicode代码点。在第二个字段中,我们在命令行上使用常规Python获得相同的结果:

$ echo 您好 | python -c "import sys; print repr(sys.stdin.read().decode('utf8'))"
u'\u60a8\u597d\n'