Google Appengine Чтение текста из TextProperty или BlobProperty построчно, как файл - PullRequest
1 голос
/ 13 февраля 2011

Я работаю над проектом Google Appengine Python, где пользователи будут загружать файл типа "csv", который я могу сохранить либо в TextProperty, либо в BlobProperty, так как они будут меньше 1 МБ.

Что я не могу понять, так это как позже прочитать файл из большого двоичного объекта и обработать его построчно.

import csv

class Upload(db.Model):
    #file = db.TextProperty(verbose_name='Uploaded File', required=True)
    file = db.BlobProperty(verbose_name='Uploaded File', required=True)
    #  ...

    def ProcessCsv(self):
        csvReader = csv.reader(self.file,delimiter=',')
        for row in csvReader:
            print(', '.join(row))

print просто печатает каждый символ в «файле» в каждой строке

Есть идеи?

Ответы [ 2 ]

1 голос
/ 13 февраля 2011

Я думаю, что происходит, когда вы передаете строку в csv.reader, когда ему нужен объект файла или список.строка в список строк.

0 голосов
/ 14 февраля 2011

Вы хотите BlobReader, который является файловым объектом для чтения из BLOB-объекта. Вы можете получить его, вызвав .open() вашего объекта BlobInfo, например:

f = self.file.open()
...