Django 앱을 통해 CSV 파일을 Google App Engine의 blobstore 파일에 업로드하려고합니다. 나는 파일을 덤핑하는 것이 업로드 된 것처럼 잘못된 줄 바꿈으로 끝날 수있는 문제에 직면하고있다. 그래서, 나는 파이썬의 보편적 인 newlines 모드에서 업로드 된 파일을 열 필요가있다. Django 문서에서는 File 객체에 .open()을 사용하여 새로운 모드를 설정할 수 있다고 제안합니다.Django를 통해 업로드 된 CSV 파일을 Google App Engine의 blobstore에 저장하는 방법은 무엇입니까?
여기에 내 제안 된 솔루션입니다 :
filename = files.blobstore.create(mime_type='text/csv')
csvfile = request.FILES.get('csvfile')
with files.open(filename, 'a') as output_file:
with csvfile.open(mode='rU') as input_file:
output_file.write(input_file.readline())
('파일'앱 엔진의 API의 일부입니다)
이 바로 내 것,하지만 난 다른 사람이 비슷한을 받아왔다 있는지 알고 싶어 상황과 더 나은 해결책?
FWIW 작동 희망 업로드 된 파일을 반복해야합니다. 어쩌면 수동으로 열고 닫아야 할 필요가 있을까요? 제가하고 싶은 것조차도 [문서] (https://docs.djangoproject.com/ko/1.4/ref/files/file/)에서 가능하다면 완전히 명확하지 않습니다. – foresmac
다음은 예외입니다. Django의 파일을 제안합니다. 파일 클래스는 컨텍스트 관리자 프로토콜을 구현하지 않았습니까? 파이썬의 파일 객체에 대한 래퍼 일지라도? 'csvfile.open (mode = 'rU') with input_file : AttributeError : __exit__' – foresmac