Django アプリ経由で CSV ファイルを Google App Engine のブロブストア ファイルにアップロードしようとしています。アップロードされたファイルをダンプすると、改行が間違ってしまう可能性があるという問題が発生しています。そのため、アップロードされたファイルを Python のユニバーサル改行モードで開く必要があります。Django のドキュメントでは、File オブジェクトで .open() を使用して、新しいモードを設定できることが示唆されています。
これが私の提案された解決策です:
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())
(「ファイル」は App Engine の API の一部です)
これは私には正しいように思えますが、他の誰かが同様の状況に陥り、より良い解決策が得られたかどうかを知りたかったのですか?