如何将多条记录添加到Google应用引擎数据存储区中

时间:2011-09-28 00:34:45

标签: python google-app-engine google-cloud-datastore

我正在尝试通过上传格式化文件(包含多行)来更新数据存储区。文件中的每一行都将在Google App引擎数据存储区中创建一条新记录。我不确定如何在for循环中向数据存储区添加多行。我试过了:

class Records(db.Model): 
      something = db.StringProperty()

.....

for line in lines   #lines is a file contains multiple lines
  record = Records(parent = PARENT_KEY)  
  record.something = line
  record.put()

它不起作用,错误消息是BadValueError:属性不是多行的。我猜它是因为'record'变量引用了每次迭代的相同实例。

对不起,如果这是一个愚蠢的问题。我是python和谷歌应用程序引擎的新手。提前感谢您的意见!

2 个答案:

答案 0 :(得分:4)

for line in lines会将换行符保留在行尾; StringProperty中不允许使用换行符,除非它被指定为多行。

尝试record.something = line.rstrip()删除换行符。

答案 1 :(得分:0)

您可以使用批量加载程序将文件中的数据加载到数据存储区中。 http://code.google.com/appengine/docs/python/tools/uploadingdata.html