내 응용 프로그램이 저장하는 모든 전자 메일 주소의 쉼표로 구분 된 목록을 원합니다. 그것은 일반 요청에 대한 너무 큰 그리고 Blob 저장소에 쓰기도 너무 많은 요청입니다 :데이터 저장소의 속성을 가진 파일 작성
class CSVHandler(webapp2.RequestHandler):
def get(self):
entities = Entity.all().fetch(10000)
s = ''
for entity in entities:
s= s+","+str(entity.email)
file_name = files.blobstore.create(mime_type='application/octet-stream')
with files.open(file_name, 'a') as f:
f.write(s)
files.finalize(file_name)
blob_key = files.blobstore.get_blob_key(file_name)
나는이 작업, 큐, 백엔드 또는 대신 다른 무언가로 할 수 있습니까?
이 어떤 제안
조언 해 주셔서 감사합니다. 그러나 1) 데이터를 어떻게 분할합니까? 2) CSV 모듈을 사용해야하는 예제 코드를 보내 주시겠습니까? 나는 청크로 출력을하는 방법을 이해하지 못한다. –
@ Nicke 긴 문자열을 여러 개의 작은 문자열로 분리하고 독립적으로 작성하십시오. 또는 파이썬 문서의'csv' 모듈에서 문서를 읽으십시오. 단지 파일을 direclty로 전달하십시오. –
답변과 의견에 감사드립니다. 빠른 해결책을위한 이번에는 Python 2.7에서 거의 작동하지 않는 도구 승인을 사용하여 MySQL과 내 조직을 동기화했습니다. 이제는 모든 텍스트 데이터 2008-2011에 편리한 Excel 파일이 있습니다 .-- 나는 또한 더 운이 좋을 수도 있습니다. Google에서 데이터 저장소 콘솔에 백업 및 내보내기 기능을 쉽게 추가 할 수 있으므로이를 프로그래밍 할 필요가 없습니다. –