3

(csv.writer を使用して) .csv ファイルを作成し、それを Amazon S3 にアップロードする Django アプリケーションがあります。

ローカルで行う方法は、csv ファイルを作成し、ローカルに保存してから、そのファイルを S3 に保存することです。ただし、heroku とそれが「ファイルシステム」であるため、その「ローカルに保存する」手順をスキップした方がよいと考えました。

Python内からcsvファイルをS3に直接出力する方法はありますか?

4

1 に答える 1

3

django-storages の amazon s3 バックエンドを確認してください。その後、ローカルに保存することなく、csv ファイルを直接 s3 に送信できます。

http://django-storages.readthedocs.org/en/latest/backends/amazon-S3.html

ドキュメントから:

>>> from django.core.files.storage import default_storage
>>> from django.core.files.base import ContentFile
>>> from django.core.cache import cache
>>> from models import MyStorage

>>> default_storage.exists('storage_test')
False
>>> file = default_storage.open('storage_test', 'w')
>>> file.write('storage contents')
>>> file.close()

>>> default_storage.exists('storage_test')
True
>>> file = default_storage.open('storage_test', 'r')
>>> file.read()
'storage contents'
>>> file.close()

>>> default_storage.delete('storage_test')
>>> default_storage.exists('storage_test')
False
于 2013-06-27T00:30:06.907 に答える