Skip to content

Instantly share code, notes, and snippets.

@yamakk
Created December 18, 2011 23:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yamakk/1494767 to your computer and use it in GitHub Desktop.
Save yamakk/1494767 to your computer and use it in GitHub Desktop.
googledocsをcsvにエクスポート
#coding:utf-8
import gdata.docs.data
import gdata.docs.client
import gdata.docs.service
import gdata.spreadsheet.service
"""
SpreadSheetは
GoogleDocsからドキュメントをローカルにエクスポートするクラス
アカウント情報とdocumentのid, そしてexportしたいファイルの名前が必要
test()を参照
"""
class SpreadSheet():
def __init__(self, email, password,):
self.email = email
self.password = password
self.client = gdata.docs.service.DocsService()
self.client.ClientLogin(self.email, self.password)
query = gdata.docs.service.DocumentQuery()
self.feed = self.client.Query(query.ToUri())
def export(self, resource_id, path):
for entry in self.feed.entry:
#print '%s %s %s '%(entry.title.text, entry.GetDocumentType(), entry.resourceId.text)
if resource_id == entry.resourceId.text:
#print 'ok'
ss_client = gdata.spreadsheet.service.SpreadsheetsService()
ss_client.ClientLogin(self.email, self.password)
self.client.SetClientLoginToken(ss_client.GetClientLoginToken())
self.client.Export(entry, path)
def test():
from pit import Pit
config = Pit.get('googledocs account')
resource_id = 'spreadsheet:XxXXXXfkNAEdFdXXXXXXXXXXXXXtOVW5yUUNCaHc'
ss = SpreadSheet(email=config['mailaddress'], password=config['password'])
ss.export('test_export_foooooo.tsv', resource_id)
if __name__ == '__main__':
test()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment