Ответ Алекса, хотя, несомненно, и правильный, заставляет задуматься: «Как мне это сделать с помощью API Google Docs?»
Вот способ (в Python, потому что я такой парень):
import gdata.docs.service
import StringIO
client = gdata.docs.service.DocsService()
client.ClientLogin(username, password,
source='Spreadsheet Creation Example')
content = 'COL_A, COL_B, COL_C, COL_D\ndata1, data2, data3, data4'
ms = gdata.MediaSource(file_handle=StringIO.StringIO(content),
content_type='text/csv',
content_length=len(content))
entry = client.Upload(ms, 'Test Spreadsheet')
Это небольшой набор методов, которые я нашел в http://code.google.com/p/gdata-python-client/source/browse/tests/gdata_tests/docs/service_test.py, который я, в свою очередь, нашел в этом посте из группы Google для API GData Docs.
Ключевые идеи (для меня в любом случае) были:
- понимая, что формальный параметр конструктора MediaSource "file_handle" будет принимать любой файлоподобный объект, и
- обнаружение (как следует из сообщения ОП о публикации в Группе Google), что юнит-тесты являются отличным источником примеров
(Я не смог найти руководство разработчика для Python, на которое ссылается ссылка Алекса на документацию - возможно, оно было утеряно или похоронено при перемещении активов документации Google с code.google.com на developers.google.com. ссылка теперь перенаправляет на более общий документ, который показывает в основном примеры .NET и Java, но только немного Python.)